46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
using System.Collections;
 | 
						|
using System.Collections.Generic;
 | 
						|
using UnityEngine;
 | 
						|
using UnityEngine.UI;
 | 
						|
using UnityEditor;
 | 
						|
using System.IO;
 | 
						|
using GameCore;
 | 
						|
using GameLogic;
 | 
						|
using GameEditor.Core;
 | 
						|
namespace GameEditor
 | 
						|
{
 | 
						|
    public class UITools
 | 
						|
    {
 | 
						|
        [MenuItem("Assets/UITools/一键设置Font")]
 | 
						|
        public static void OneKeyChangeFont()
 | 
						|
        {
 | 
						|
            Font font1 = AssetDatabase.LoadAssetAtPath<Font>(AppConst.GameResPath + "/Platform/Fonts/FZYH/FZYH.ttf");
 | 
						|
            Font font2 = AssetDatabase.LoadAssetAtPath<Font>(AppConst.GameResPath + "/Platform/Fonts/FZZCH/FZZCH.ttf");
 | 
						|
            List<GameObject> prefabs = EditorUtil.GetAssets<GameObject>(AppConst.GameResPath);
 | 
						|
            GameObject gameObj = null;
 | 
						|
            string path;
 | 
						|
            for (int i = 0; i < prefabs.Count; i++)
 | 
						|
            {
 | 
						|
                gameObj = prefabs[i];
 | 
						|
                path = AssetDatabase.GetAssetPath(gameObj);
 | 
						|
                Text[] texts = gameObj.GetComponentsInChildren<Text>(true);
 | 
						|
                bool fix = false;
 | 
						|
                foreach (var each in texts)
 | 
						|
                {
 | 
						|
                    if (each.font == font1)
 | 
						|
                    {
 | 
						|
                        fix = true;
 | 
						|
                        each.font = font2;
 | 
						|
                        Debug.LogErrorFormat("字体修正,{0}====>{1}", path, each.transform.GetPathToParent(gameObj.transform));
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (fix)
 | 
						|
                    EditorUtility.SetDirty(gameObj);
 | 
						|
            }
 | 
						|
            AssetDatabase.SaveAssets();
 | 
						|
            AssetDatabase.Refresh();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
}
 |