c1_unity/Assets/Editor/BFEditorTools/BFEditorApplication.cs
2023-04-03 11:04:31 +08:00

64 lines
2.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}
}
}