164 lines
5.6 KiB
C#
164 lines
5.6 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
using UnityEngine.UI;
|
|
using UnityEditor.VersionControl;
|
|
using System.IO;
|
|
using DG.Tweening.Plugins.Core.PathCore;
|
|
|
|
public static class ChangeTextFont
|
|
{
|
|
private static string[] MyFolders = new string[] {
|
|
//"Assets/ztest",
|
|
//"Assets/ManagedResources/Prefabs/UI",
|
|
//"Assets/ManagedResources/UpdatePanel",
|
|
"Assets/ManagedResources/Prefabs/Effect",
|
|
"Assets/ManagedResources/Prefabs/Map",
|
|
};
|
|
[MenuItem("MyTools/ChangeScriptComponents")]
|
|
public static void ChangeScriptComponents()
|
|
{
|
|
Font a = AssetDatabase.LoadAssetAtPath<Font>("Assets/ManagedResources/Fonts/HY-Sayeez/HY-Sayeez.otf");
|
|
if (a != null)
|
|
{
|
|
Debug.Log(a.name);
|
|
}
|
|
string[] guids = AssetDatabase.FindAssets("t:Prefab", MyFolders);
|
|
for (int i = 0; i < guids.Length; ++i)
|
|
{
|
|
string path = AssetDatabase.GUIDToAssetPath(guids[i]);
|
|
GameObject prefab = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
|
|
var srcA = prefab.GetComponentsInChildren<Text>();
|
|
if (srcA != null && srcA.Length > 0)
|
|
{
|
|
foreach (var item in srcA)
|
|
{
|
|
item.font = a;
|
|
}
|
|
PrefabUtility.SavePrefabAsset(prefab);
|
|
}
|
|
}
|
|
AssetDatabase.SaveAssets();
|
|
}
|
|
[MenuItem("MyTools/ChangeTextFontSize")]
|
|
public static void ChangeTextFontSize()
|
|
{
|
|
Font a = AssetDatabase.LoadAssetAtPath<Font>("Assets/ManagedResources/Fonts/HY-Sayeez/HY-Sayeez.otf");
|
|
if (a != null)
|
|
{
|
|
Debug.Log(a.name);
|
|
}
|
|
string[] guids = AssetDatabase.FindAssets("t:Prefab", MyFolders);
|
|
for (int i = 0; i < guids.Length; ++i)
|
|
{
|
|
string path = AssetDatabase.GUIDToAssetPath(guids[i]);
|
|
GameObject prefab = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
|
|
var srcA = prefab.GetComponentsInChildren<Text>();
|
|
if (srcA != null && srcA.Length > 0)
|
|
{
|
|
foreach (var item in srcA)
|
|
{
|
|
if (item.fontSize > 50)
|
|
{
|
|
item.fontSize = (int)(item.fontSize * 0.9f);
|
|
}
|
|
}
|
|
PrefabUtility.SavePrefabAsset(prefab);
|
|
}
|
|
}
|
|
AssetDatabase.SaveAssets();
|
|
}
|
|
[MenuItem("MyTools/ChangeAudioName")]
|
|
public static void ChangeAudioName()
|
|
{
|
|
DirectoryInfo di = new DirectoryInfo("E:\\MiuoWorkSpace\\ZMiWorkSpace\\miduoxiyou_yuenan3\\Assets\\ztest\\Voice ENG final 26.2.2025\\Voice ENG final 26.2.2025");
|
|
var files = di.GetFiles();
|
|
foreach (var item in files)
|
|
{
|
|
if (item.Extension == ".wav")
|
|
{
|
|
var _name = item.Name.Replace(item.Extension, "") + "en";
|
|
var _pat2 = item.FullName.Replace("E:\\MiuoWorkSpace\\ZMiWorkSpace\\miduoxiyou_yuenan3\\", "");
|
|
AssetDatabase.RenameAsset(_pat2, _name);
|
|
}
|
|
}
|
|
AssetDatabase.SaveAssets();
|
|
}
|
|
[MenuItem("MyTools/ChangeTextSpacing")]
|
|
public static void ChangeTextSpacing()
|
|
{
|
|
string[] guids = AssetDatabase.FindAssets("t:Prefab", MyFolders);
|
|
for (int i = 0; i < guids.Length; ++i)
|
|
{
|
|
string path = AssetDatabase.GUIDToAssetPath(guids[i]);
|
|
GameObject prefab = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
|
|
var srcA = prefab.GetComponentsInChildren<TextSpacing>();
|
|
if (srcA != null && srcA.Length > 0)
|
|
{
|
|
foreach (var item in srcA)
|
|
{
|
|
if (item._textSpacing < -3)
|
|
{
|
|
item._textSpacing = -3;
|
|
}
|
|
}
|
|
PrefabUtility.SavePrefabAsset(prefab);
|
|
}
|
|
}
|
|
AssetDatabase.SaveAssets();
|
|
}
|
|
}
|
|
|
|
|
|
public class BatchChangeShader : EditorWindow
|
|
{
|
|
private string _folderPath = "Assets/ztest"; // 指定材质球所在的文件夹路径
|
|
private string _newShaderName = "Particles/Standard Surface"; // 新Shader的名称
|
|
|
|
[MenuItem("MyTools/Batch Change Shader")]
|
|
private static void ShowWindow()
|
|
{
|
|
GetWindow<BatchChangeShader>();
|
|
}
|
|
|
|
private void OnGUI()
|
|
{
|
|
_folderPath = EditorGUILayout.TextField("Folder Path", _folderPath);
|
|
_newShaderName = EditorGUILayout.TextField("New Shader Name", _newShaderName);
|
|
|
|
if (GUILayout.Button("Change Shader"))
|
|
{
|
|
ChangeShadersInFolder(_folderPath, _newShaderName);
|
|
}
|
|
}
|
|
|
|
private void ChangeShadersInFolder(string folderPath, string newShaderName)
|
|
{
|
|
string[] guids = AssetDatabase.FindAssets("t:Material", new[] { folderPath });
|
|
Shader newShader = Shader.Find(newShaderName);
|
|
|
|
if (newShader == null)
|
|
{
|
|
Debug.LogError("Shader not found:" + newShaderName);
|
|
return;
|
|
}
|
|
|
|
foreach (string guid in guids)
|
|
{
|
|
string assetPath = AssetDatabase.GUIDToAssetPath(guid);
|
|
Material material = AssetDatabase.LoadAssetAtPath<Material>(assetPath);
|
|
|
|
if (material != null && material.shader.name == "Particles/Standard Surface")
|
|
{
|
|
Debug.LogError(material.name);
|
|
//material.shader = newShader;
|
|
//EditorUtility.SetDirty(material);
|
|
}
|
|
}
|
|
|
|
AssetDatabase.SaveAssets();
|
|
AssetDatabase.Refresh();
|
|
}
|
|
}
|