public void StartInRac(Action fun) { if (!Util.CheckEnvironment()) { return; } GameObject gameMgr = GameObject.Find("GameManager"); if (gameMgr != null) { //AppView appView = gameMgr.AddComponent <AppView>(); //TestConsole console = gameMgr.AddComponent <TestConsole>(); } //-----------------关联命令----------------------- AppFacade.Instance.RegisterCommand(NotiConst.DISPATCH_MESSAGE, typeof(SocketCommand)); //-----------------初始化管理器----------------------- AppFacade.Instance.AddManager <LuaManager>(ManagerName.Lua); AppFacade.Instance.AddManager <PanelManager>(ManagerName.Panel); AppFacade.Instance.AddManager <SoundManager>(ManagerName.Sound); AppFacade.Instance.AddManager <TimerManager>(ManagerName.Timer); AppFacade.Instance.AddManager <NetworkManager>(ManagerName.Network); AppFacade.Instance.AddManager <RazNetworkManager>(ManagerName.RazNetwork); AppFacade.Instance.AddManager <LuaResourceManager>(ManagerName.Resource); AppFacade.Instance.AddManager <ThreadManager>(ManagerName.Thread); AppFacade.Instance.AddManager <ObjectPoolManager>(ManagerName.ObjectPool); AppFacade.Instance.AddManager <HotFixManager>(ManagerName.MainLua); HotFixManager hotfix = AppFacade.Instance.GetManager <HotFixManager>(ManagerName.MainLua); hotfix.AddCallBack(fun); }
public static void GenerateCLRBinding2b() { #if CSHotFix //用新的分析热更dll调用引用来生成绑定代码 CSHotFix.Runtime.Enviorment.AppDomain domain = new CSHotFix.Runtime.Enviorment.AppDomain(); using (System.IO.FileStream fs = new System.IO.FileStream(GenConfigEditor.CSHotFixDllPath, System.IO.FileMode.Open, System.IO.FileAccess.Read)) { domain.LoadAssembly(fs); } //Crossbind Adapter is needed to generate the correct binding code HotFixManager.InitScript(domain); CSHotFix.Runtime.CLRBinding.BindingCodeGenerator.GenerateBindingCode(domain, GenConfigEditor.CSHotFixCLRGen2Path); AssetDatabase.Refresh(); #else if (!EditorUtility.DisplayDialog("错误", "当前不是发布模式,无法进行绑定生成的第二步", "知道了")) { Debug.LogError("当前不是发布模式,无法进行绑定生成的第二步"); return; } #endif }
// 切换服务器流程 //public static CGamePro_ChangeScene s_pProcChangeScene; //初始化静态变量 public static void InitStaticMemeber() { s_EventManager = new Events(); //PrefabLoaderManager.Init(); Main main = Tool.Main(); if (main.m_UseCSHotFixDll) { s_MainHotFixManager = new HotFixManager(); s_MainHotFixManager.Init("HotFix"); UnityEngine.Debug.Log("Use Manual .Net"); } else { s_MainHotFixManager_SystemDll = new HotFixManager_SystemDll(); s_MainHotFixManager_SystemDll.Init("HotFix"); UnityEngine.Debug.Log("Use System .Net"); } //初始化所有的循环实例 s_ProcStartApp = new CGamePro_StartApplication(); //启动游戏 s_ProcLogIn = new CGamePro_Login(); //!< 登录循环 //s_pProcCharCreate = new CGamePro_CharCreate(); //!< 人物创建流程 s_ProcBattle = new CGamePro_Battle(); //!< 主游戏循环 s_ProcLobby = new CGamePro_Lobby(); //NetworkManager.Init(); //NetworkManager.StartNetwork(NetworkProtol.Tcp); s_TimerManager = new TimerManager(); //s_RoleManager = new CObjectManager(); //s_VariableManager = new VariableManager(); //s_JBmanager = new JBManager(); s_BattleManager = new BattleManager(); ////------------------------------------------------------------------- ////初始化工作节点 //s_pVariableSystem.Initial(object.Zero); //s_pEventSystem.Initial(object.Zero); //s_pWorldManager.Initial(object.Zero); //if (s_pUISystem != null) s_pUISystem.Initial(object.Zero); //DataManager.Init(); MessageManager.RegMessages(); InputManager.Init(); //s_JBmanager.Init(null, null); //Test------------------------------------------------------------- s_BattleManager.Init(); s_ActiveProcedure = s_ProcStartApp; s_EventManager.OnHurtEvent.SafeInvoke(12, 11); s_EventManager.OnCameraPositionChangedEvent.SafeInvoke(); }
public HotFixManager CreateInstance() { HotFixManager tInstance = new HotFixManager(); return(tInstance); }
//释放静态变量 public static void ReleaseStaticMember() { if (s_BattleManager != null) { s_BattleManager.Destroy(); s_BattleManager = null; } if (s_TimerManager != null) { s_TimerManager.Destroy(); s_TimerManager = null; } //if (s_JBmanager != null) //{ // s_JBmanager.Destroy(); // s_JBmanager = null; //} MessageManager.UnregMessages(); //NetworkManager.Destroy(); //DataManager.Destroy(); //释放所有的循环实例 if (s_ProcLogIn != null) { s_ProcLogIn = null; } if (s_ProcBattle != null) { s_ProcBattle = null; } if (s_ProcLobby != null) { s_ProcLobby = null; } s_ProcPrev = s_ActiveProcedure = null; if (s_MainHotFixManager != null) { s_MainHotFixManager.OnApplicationQuit(); s_MainHotFixManager.Destroy(); s_MainHotFixManager = null; } if (s_MainHotFixManager_SystemDll != null) { s_MainHotFixManager_SystemDll.OnApplicationQuit(); s_MainHotFixManager_SystemDll.Destroy(); s_MainHotFixManager_SystemDll = null; } s_EventManager = null; //PrefabLoaderManager.Destroy(); }