少年修仙传客户端代码仓库
lwb
2021-02-25 0d7482d5a0e8bf082abfb4b5bfbfee03597cdc3a
System/Pet/PetWin.cs
@@ -47,14 +47,12 @@
        {
            base.OnPreOpen();
            DisplayButtons();
            var petHorseAwaking = LuaUtility.Global.Get<IPetHorseAwaking>("PetHorseAwakingModel");
            petHorseAwaking.onFuncStateUpdate += OnFuncStateUpdate;
            ILRuntimeUtility.Instance.ModelInvoke("PetHorseAwakingModel", "AddFuncStateUpdate", this);
        }
        protected override void OnPreClose()
        {
            var petHorseAwaking = LuaUtility.Global.Get<IPetHorseAwaking>("PetHorseAwakingModel");
            petHorseAwaking.onFuncStateUpdate -= OnFuncStateUpdate;
            ILRuntimeUtility.Instance.ModelInvoke("PetHorseAwakingModel", "RemoveFuncStateUpdate", this);
            base.OnPreClose();
        }
@@ -73,22 +71,22 @@
        private void DisplayButtons()
        {
            var type = ILLauncherProxy.Instance.appdomain.LoadedTypes["PetHorseAwakingModel"];
            var get_Instance = type.GetMethod("get_Instance", 0);
            var isOpenM = type.GetMethod("IsOpen", 0);
            var instance = ILLauncherProxy.Instance.appdomain.Invoke(get_Instance, null);
            //var type = ILLauncherProxy.Instance.appdomain.LoadedTypes["PetHorseAwakingModel"];
            //var get_Instance = type.GetMethod("get_Instance", 0);
            //var isOpenM = type.GetMethod("IsOpen", 0);
            //var instance = ILLauncherProxy.Instance.appdomain.Invoke(get_Instance, null);
            // var petHorseAwaking = LuaUtility.Global.Get<IPetHorseAwaking>("PetHorseAwakingModel");
            if (instance != null)
            {
                var isOpen = (bool)ILLauncherProxy.Instance.appdomain.Invoke(isOpenM, instance);
                m_FunctionButtons[2].gameObject.SetActive(isOpen);
                m_FunctionButtons[2].state = isOpen ? TitleBtnState.Normal : TitleBtnState.Locked;
            }
            else
            {
                m_FunctionButtons[2].gameObject.SetActive(false);
                m_FunctionButtons[2].state = TitleBtnState.Locked;
            }
            //if (instance != null)
            //{
            var isOpen = ILRuntimeUtility.Instance.ModelInvoke<bool>("PetHorseAwakingModel", "IsOpen");
            m_FunctionButtons[2].gameObject.SetActive(isOpen);
            m_FunctionButtons[2].state = isOpen ? TitleBtnState.Normal : TitleBtnState.Locked;
            //}
            //else
            //{
            //    m_FunctionButtons[2].gameObject.SetActive(false);
            //    m_FunctionButtons[2].state = TitleBtnState.Locked;
            //}
        }
        private void OpenPetWin()
@@ -112,7 +110,7 @@
            functionOrder = 2;
        }
        private void OnFuncStateUpdate()
        public void OnFuncStateUpdate()
        {
            DisplayButtons();
        }