[MenuItem("Assets/misc/批量修改技能图标")]
public static void 一键改技能图标名称()
{
List<DirectoryInfo> DirectoryList = new List<DirectoryInfo>();
List<string> PathsList = new List<string>();
Dictionary<string, string> IconTransID = new Dictionary<string, string>();
if (Selection.assetGUIDs != null)
{
for (int i = 0; i < Selection.assetGUIDs.Length; i++)
{
DirectoryInfo direction = new DirectoryInfo(AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[i]));
PathsList.Add(AssetDatabase.GUIDToAssetPath(Selection.assetGUIDs[i]));
DirectoryList.Add(direction);
}
}
//读技能表
var info = CfgMgr.Instance.GetSkillCfgDic().GetEnumerator();
while (info.MoveNext())
{
string key = info.Current.Value.icon + ".png";
if (!IconTransID.ContainsKey(key))
{
IconTransID.Add(key, info.Current.Value.id.ToString());
}
}
info.Dispose();
for (int i = 0; i < DirectoryList.Count; i++)
{
FileInfo[] files = DirectoryList[i].GetFiles("*", SearchOption.AllDirectories);
for (int jj = 0; jj < files.Length; jj++)
if (files[jj].Name.EndsWith(".png") || files[jj].Name.EndsWith(".jpg"))
{
EditorUtility.DisplayProgressBar("正在处理...", files[jj].Name, jj * 1.0f / files[jj].Length);
if (IconTransID.ContainsKey(files[jj].Name))
{
string path = string.Format("{0}/{1}", PathsList[i], files[jj].Name);
string newName = string.Format("{0}", IconTransID[files[jj].Name]);
AssetDatabase.RenameAsset(path, newName);
EDebug.Log("{0} Rename Success!" + files[jj].Name);
}
}
}
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
EDebug.Log("批量修改技能图标完成!");
EditorUtility.ClearProgressBar();
}
批量修改assets下图标名称
最新推荐文章于 2024-05-24 00:25:19 发布