81 lines
3.2 KiB
C#
Raw Normal View History

2025-01-25 04:38:09 +08:00
using Thousandto.Code.Global;
using Thousandto.Core.Base;
using Thousandto.GameUI.Form;
using Thousandto.Plugins.Common;
using EventManager = UnityEngine.Gonbest.MagicCube.EventManager;
using FLogger = UnityEngine.Gonbest.MagicCube.FLogger;
namespace Thousandto.Code.Center
{
/// <summary>
/// GameUI相关的变量处理 --- 它的所有处理
/// 这里尽量不要与GameCenter有耦合,之间数据传递可以通过消息
/// </summary>
public static class GameUICenter
{
//窗体的管理器
public static UIFormManager UIFormManager = null;
//ICON的atlas管理
public static UIIconAltasManager UIIconAltasManager = null;
//手势输入
public static FingerGesturesEventTrigger FingerGestureEventTrigger = null;
//GameUICenter处理
public static void Initialize()
{
EventManager.SharedInstance.UnRegFixEventHandle((int)LogicEventDefine.EID_GAMECENTER_LOGIC_START_INITIALIZE, OnLogicStartInitialize);
EventManager.SharedInstance.UnRegFixEventHandle((int)LogicEventDefine.EID_GAMECENTER_LOGIC_UNINITIALIZED, OnLogicUnInitialized);
EventManager.SharedInstance.RegFixEventHandle((int)LogicEventDefine.EID_GAMECENTER_LOGIC_START_INITIALIZE, OnLogicStartInitialize);
EventManager.SharedInstance.RegFixEventHandle((int)LogicEventDefine.EID_GAMECENTER_LOGIC_UNINITIALIZED, OnLogicUnInitialized);
}
//逻辑开始初始化处理
private static void OnLogicStartInitialize(object obj,object sender=null)
{
if (UIIconAltasManager == null)
UIIconAltasManager = new UIIconAltasManager();
if (FingerGestureEventTrigger == null)
FingerGestureEventTrigger = new FingerGesturesEventTrigger();
if (UIFormManager == null){
UIFormManager = UIFormManager.CreateUIRoot();
UIFormManager.IsDestroyPrefabOnClose = GameCenter.LuaSystem.Adaptor.IsDestroyPrefabOnClose();
}
//这里处理消息的参数
var inputSystem = obj as IInputSystem;
if (inputSystem != null)
{
inputSystem.SetUIChecker(UIFormManager);
inputSystem.SetFingerGesturesEventTrigger(FingerGestureEventTrigger);
}
else
{
FLogger.LogError("IInputSystem == NULL!!");
}
FingerGestureEventTrigger.Initialize();
FLogger.Log("FingerGestureEventTrigger.Initialize() ok!");
UIIconAltasManager.Initialization();
FLogger.Log("UIIconAltasManager.Initialization() ok!");
}
//逻辑系统卸载处理
private static void OnLogicUnInitialized(object obj,object sender=null)
{
if(UIIconAltasManager != null) UIIconAltasManager.UnInitialization();
FLogger.Log("FingerGestureEventTrigger.UnInitialization() ok!");
if (FingerGestureEventTrigger != null) FingerGestureEventTrigger.UnInitialize();
FLogger.Log("UIIconAltasManager.UnInitialize() ok!");
}
}
}