using UnityEngine;
using System.Collections;
using UnityEditor;
using UnityEngine.UI;
using System.IO;
public class ChangeFontWindow : EditorWindow
{
[MenuItem("ProTool/Multilingual/换字体")]
public static void Open()
{
EditorWindow.GetWindow(typeof(ChangeFontWindow), true);
}
public Font toChange;
static Font toChangeFont;
void OnGUI()
{
toChange = (Font)EditorGUILayout.ObjectField("请选择目标字体", toChange, typeof(Font), true, GUILayout.MinWidth(100));
toChangeFont = toChange;
if (GUILayout.Button("确认更换"))
{
Change();
}
}
private static string PREFABPATH ; //所有预设存放位置路径
public static void Change()
{
PREFABPATH = Application.dataPath + "\\Project3D\\BundleData\\UI\\Prefab";
DirectoryInfo directoryInfo = Directory.CreateDirectory(PREFABPATH);
FileInfo[] fileInfos = directoryInfo.GetFiles("*.prefab", SearchOption.AllDirectories);
for (int i = 0; i < fileInfos.Length; i++)
{
string assetPath = fileInfos[i].FullName.Replace("\\", "/");
assetPath = assetPath.Replace(Application.dataPath, "Assets");
UnityEngine.Object[] objs = AssetDatabase.LoadAllAssetsAtPath(assetPath);
foreach (Object text in objs)
{
if (text.GetType() == typeof(Text))
{
Text TempText = (Text)text;
Undo.RecordObject(TempText, TempText.gameObject.name);
TempText.font = toChangeFont;
EditorUtility.SetDirty(TempText);
}
}
}
}
}
Unity 一键更换字体
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...