- LocalizationManager: 新增翻译表(SetFormatted/SetDuration/LocalizeOperateMsg) - LoginPanel: InputField placeholder本地化、字体颜色保持 - HistoryPanel: 用时数据本地化、placeholder本地化 - RecordDetailPanel: 操作详情消息本地化(LanguageChanged重建) - AppraiseWindowBase: 评价等级本地化、操作消息重建 - EditorAppraiser: 所有评估消息改用InjectOperateMsgLocalized - StudentOperateRecorder: 新增InjectOperateMsgLocalized方法 - LocalizationLanguageTestBar: 单例模式、ScreenSpaceOverlay筛选 - 字体切换时保留颜色和verticalOverflow
62 lines
1.2 KiB
C#
62 lines
1.2 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
namespace DevelopEngine
|
|
{
|
|
public class MonoSingleton<T> : MonoBehaviour where T : MonoSingleton<T>
|
|
{
|
|
private static T instance = null;
|
|
public static T Instance {
|
|
get {
|
|
if (instance == null)
|
|
{
|
|
instance = FindObjectOfType(typeof(T)) as T;
|
|
if (instance == null)
|
|
{
|
|
instance = new GameObject("_" + typeof(T).Name).AddComponent<T>();
|
|
//DontDestroyOnLoad(instance);
|
|
}
|
|
if (instance == null)
|
|
Debug.LogError("Failed to create instance of " + typeof(T).FullName + ".");
|
|
}
|
|
return instance;
|
|
}
|
|
}
|
|
void OnApplicationQuit () { if (instance != null) instance = null; }
|
|
|
|
public static T CreateInstance ()
|
|
{
|
|
if (Instance != null) Instance.OnCreate();
|
|
return Instance;
|
|
}
|
|
|
|
protected virtual void OnCreate ()
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
public class Singleton<T> where T : new()
|
|
{
|
|
private static T instance;
|
|
public static T Instance
|
|
{
|
|
get
|
|
{
|
|
if (instance == null)
|
|
{
|
|
instance = new T();
|
|
}
|
|
return instance;
|
|
}
|
|
}
|
|
|
|
//Ïú»Ùµ¥ÀýÀà
|
|
public static void Destory()
|
|
{
|
|
if (instance == null) return;
|
|
else
|
|
instance = default(T);
|
|
}
|
|
}
|
|
} |