コード例 #1
0
ファイル: AppFacade.cs プロジェクト: dsz0/LazLuaDev
    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);
    }
コード例 #2
0
    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
    }
コード例 #3
0
ファイル: CGameProcedure.cs プロジェクト: zjljxsc/cshotfix
        // 切换服务器流程
        //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();
        }
コード例 #4
0
    public HotFixManager CreateInstance()
    {
        HotFixManager tInstance = new HotFixManager();

        return(tInstance);
    }
コード例 #5
0
ファイル: CGameProcedure.cs プロジェクト: zjljxsc/cshotfix
        //释放静态变量
        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();
        }