181 lines
7.0 KiB
C#
181 lines
7.0 KiB
C#
using System.Collections.Generic;
|
|
using Framework;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace ResCheck
|
|
{
|
|
public class ResMover
|
|
{
|
|
// [MenuItem("Tools/资源检查/自动移动子弹资源")]
|
|
public static void MoveBulletPrefabs()
|
|
{
|
|
var bulletConfig = TableManager.Instance.Tables.BulletConfig;
|
|
var allBulletNames = new List<string>();
|
|
foreach (var bullet in bulletConfig.DataList)
|
|
{
|
|
var bulletName = bullet.PrefabPath;
|
|
if (string.IsNullOrEmpty(bulletName))
|
|
{
|
|
continue;
|
|
}
|
|
if (allBulletNames.Contains(bulletName))
|
|
{
|
|
continue;
|
|
}
|
|
allBulletNames.Add(bulletName);
|
|
}
|
|
|
|
Debug.Log("allBulletNames.Count:" + allBulletNames.Count);
|
|
for (int i = 0; i < allBulletNames.Count; i++)
|
|
{
|
|
var oldPath = "Assets/Art/Gfx/Character/" + allBulletNames[i] + ".prefab";
|
|
var newPath = "Assets/Art_Out/Manual/Bullets/" + allBulletNames[i] + ".prefab";
|
|
// 创建新的prefab, 不删除旧的
|
|
AssetDatabase.CopyAsset(oldPath, newPath);
|
|
Debug.Log("MoveBulletPrefabs:" + allBulletNames[i]);
|
|
}
|
|
AssetDatabase.Refresh();
|
|
Debug.Log("MoveBulletPrefabs Done!");
|
|
}
|
|
|
|
// [MenuItem("Tools/资源检查/自动移动召唤物资源")]
|
|
public static void MoveSummonPrefabs()
|
|
{
|
|
var summonConfig = TableManager.Instance.Tables.SummonConfig;
|
|
var allSummonNames = new List<string>();
|
|
foreach (var summon in summonConfig.DataList)
|
|
{
|
|
var summonName = summon.ModelPath;
|
|
if (string.IsNullOrEmpty(summonName))
|
|
{
|
|
continue;
|
|
}
|
|
if (allSummonNames.Contains(summonName))
|
|
{
|
|
continue;
|
|
}
|
|
allSummonNames.Add(summonName);
|
|
}
|
|
|
|
Debug.Log("allSummonNames.Count:" + allSummonNames.Count);
|
|
for (int i = 0; i < allSummonNames.Count; i++)
|
|
{
|
|
var oldPath = "Assets/Art/Character/Prefabs/Summon/" + allSummonNames[i] + ".prefab";
|
|
var newPath = "Assets/Art_Out/Manual/Summon/" + allSummonNames[i] + ".prefab";
|
|
// 创建新的prefab, 不删除旧的
|
|
AssetDatabase.CopyAsset(oldPath, newPath);
|
|
Debug.Log("MoveSummonPrefabs:" + allSummonNames[i]);
|
|
}
|
|
AssetDatabase.Refresh();
|
|
Debug.Log("MoveSummonPrefabs Done!");
|
|
}
|
|
|
|
// [MenuItem("Tools/资源检查/自动移动建筑资源")]
|
|
public static void MoveBuildingPrefabs()
|
|
{
|
|
var buildingConfig = TableManager.Instance.Tables.BuildConfig;
|
|
var allBuildingNames = new List<string>();
|
|
foreach (var building in buildingConfig.DataList)
|
|
{
|
|
var buildingName = building.ModelPath;
|
|
if (string.IsNullOrEmpty(buildingName))
|
|
{
|
|
continue;
|
|
}
|
|
if (allBuildingNames.Contains(buildingName))
|
|
{
|
|
continue;
|
|
}
|
|
allBuildingNames.Add(buildingName);
|
|
}
|
|
|
|
Debug.Log("allBuildingNames.Count:" + allBuildingNames.Count);
|
|
for (int i = 0; i < allBuildingNames.Count; i++)
|
|
{
|
|
var oldPath = "Assets/Art/Character/Prefabs/Build/" + allBuildingNames[i] + ".prefab";
|
|
var newPath = "Assets/Art_Out/Manual/Building/" + allBuildingNames[i] + ".prefab";
|
|
// 创建新的prefab, 不删除旧的
|
|
AssetDatabase.CopyAsset(oldPath, newPath);
|
|
Debug.Log("MoveBuildingPrefabs:" + allBuildingNames[i]);
|
|
}
|
|
AssetDatabase.Refresh();
|
|
Debug.Log("MoveBuildingPrefabs Done!");
|
|
}
|
|
|
|
// [MenuItem("Tools/资源检查/自动移动特效资源")]
|
|
public static void MoveEffectPrefabs()
|
|
{
|
|
var effectConfig = TableManager.Instance.Tables.EffectConfig;
|
|
var allEffectNames = new List<string>();
|
|
foreach (var effect in effectConfig.DataList)
|
|
{
|
|
var effectName = effect.PrefabPath;
|
|
if (string.IsNullOrEmpty(effectName))
|
|
{
|
|
continue;
|
|
}
|
|
if (allEffectNames.Contains(effectName))
|
|
{
|
|
continue;
|
|
}
|
|
allEffectNames.Add(effectName);
|
|
}
|
|
|
|
Debug.Log("allEffectNames.Count:" + allEffectNames.Count);
|
|
for (int i = 0; i < allEffectNames.Count; i++)
|
|
{
|
|
var oldPath = allEffectNames[i];
|
|
var fileName = _GetFileName(oldPath);
|
|
var newPath = "Assets/Art_Out/Manual/Effects/" + fileName + ".prefab";
|
|
// 创建新的prefab, 不删除旧的
|
|
AssetDatabase.CopyAsset(oldPath, newPath);
|
|
Debug.Log("MoveEffectPrefabs:" + allEffectNames[i]);
|
|
}
|
|
AssetDatabase.Refresh();
|
|
Debug.Log("MoveEffectPrefabs Done!");
|
|
}
|
|
|
|
[MenuItem("Tools/*载具/自动移动炮台资源")]
|
|
public static void MoveBatteryPrefabs()
|
|
{
|
|
var batteryConfig = TableManager.Instance.Tables.BatteryConfig;
|
|
var allBatteryNames = new List<string>();
|
|
foreach (var battery in batteryConfig.DataList)
|
|
{
|
|
var batteryName = battery.ModelPath;
|
|
if (string.IsNullOrEmpty(batteryName))
|
|
{
|
|
continue;
|
|
}
|
|
if (allBatteryNames.Contains(batteryName))
|
|
{
|
|
continue;
|
|
}
|
|
allBatteryNames.Add(batteryName);
|
|
}
|
|
|
|
Debug.Log("allBatteryNames.Count:" + allBatteryNames.Count);
|
|
for (int i = 0; i < allBatteryNames.Count; i++)
|
|
{
|
|
var oldPath = allBatteryNames[i];
|
|
var fileName = _GetFileName(oldPath);
|
|
var newPath = "Assets/Art_Out/Manual/Battery/" + fileName + ".prefab";
|
|
// 创建新的prefab, 不删除旧的
|
|
AssetDatabase.CopyAsset(oldPath, newPath);
|
|
Debug.Log("MoveBatteryPrefabs:" + allBatteryNames[i]);
|
|
}
|
|
AssetDatabase.Refresh();
|
|
Debug.Log("MoveBatteryPrefabs Done!");
|
|
}
|
|
|
|
private static string _GetFileName(string fullPath)
|
|
{
|
|
var lastSlashIndex = fullPath.LastIndexOf('/');
|
|
var lastDotIndex = fullPath.LastIndexOf('.');
|
|
return fullPath.Substring(lastSlashIndex + 1, lastDotIndex - lastSlashIndex - 1);
|
|
}
|
|
|
|
}
|
|
}
|