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 { /// /// GameUI相关的变量处理 --- 它的所有处理 /// 这里尽量不要与GameCenter有耦合,之间数据传递可以通过消息 /// 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!"); } } }