64 lines
2.5 KiB
C#
64 lines
2.5 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEditor;
|
||
using System.IO;
|
||
|
||
namespace BFEditor
|
||
{
|
||
[InitializeOnLoadAttribute]
|
||
public static class BFEditorApplication
|
||
{
|
||
private const string DEFAULT_FONT_PATH = "assets/arts/fonts/tmpfonts/default/tmpfont/font_sdf.asset";
|
||
private const string DEFAULT_FONT_NUMBER_PATH = "assets/arts/fonts/tmpfonts/default/tmpfont/font_number_sdf.asset";
|
||
private const string DEFAULT_FONT_BATTLE_PATH = "assets/arts/fonts/tmpfonts/battle/font_battle_sdf.asset";
|
||
static BFEditorApplication()
|
||
{
|
||
EditorApplication.playModeStateChanged += PlayModeStateChanged;
|
||
}
|
||
|
||
private static void PlayModeStateChanged(PlayModeStateChange state)
|
||
{
|
||
// 编辑器下离开play模式
|
||
if (state == PlayModeStateChange.ExitingPlayMode)
|
||
{
|
||
// 游戏运行的时候处理了一下default字体资源,这里就需要重置一下,否则无法正常显示文本
|
||
if (File.Exists(DEFAULT_FONT_PATH))
|
||
{
|
||
var fontAsset = AssetDatabase.LoadAssetAtPath<TMPro.TMP_FontAsset>(DEFAULT_FONT_PATH);
|
||
if (fontAsset)
|
||
{
|
||
// fontAsset.characterTable.Clear();
|
||
fontAsset.ClearFontAssetData();
|
||
EditorUtility.SetDirty(fontAsset);
|
||
}
|
||
}
|
||
|
||
if (File.Exists(DEFAULT_FONT_NUMBER_PATH))
|
||
{
|
||
var fontAsset = AssetDatabase.LoadAssetAtPath<TMPro.TMP_FontAsset>(DEFAULT_FONT_NUMBER_PATH);
|
||
if (fontAsset)
|
||
{
|
||
// fontAsset.characterTable.Clear();
|
||
fontAsset.ClearFontAssetData();
|
||
EditorUtility.SetDirty(fontAsset);
|
||
}
|
||
}
|
||
|
||
if (File.Exists(DEFAULT_FONT_BATTLE_PATH))
|
||
{
|
||
var fontAsset = AssetDatabase.LoadAssetAtPath<TMPro.TMP_FontAsset>(DEFAULT_FONT_BATTLE_PATH);
|
||
if (fontAsset)
|
||
{
|
||
// fontAsset.characterTable.Clear();
|
||
fontAsset.ClearFontAssetData();
|
||
EditorUtility.SetDirty(fontAsset);
|
||
}
|
||
}
|
||
AssetDatabase.SaveAssets();
|
||
AssetDatabase.Refresh();
|
||
}
|
||
}
|
||
}
|
||
}
|