Exemple #1
0
        public virtual void InitInteractor(HotFixerUI UIOwner, HotFixerUIAgent agent)
        {
            UI    = UIOwner;
            Agent = agent;

            UIChangingTask = new UIChangingTasker(UIOwner);
        }
        sealed public override void Init()
        {
            base.Init();

            mUIHotFixer = this;

            HotFixerInteractor interacter = UIInteracterCreater?.Invoke();

            interacter.SetUIModular(mUIHotFixer);

            if (UIInteracterHandler != default)
            {
                mUI.Remove(UIModularHandler);
                mUI.Add(UIInteracterHandler);
                "log: UI {0} add modular handler (UIInteracterHandler), UI type is ".Log(mUI.ToString());
            }
            else
            {
            }

            mBridge = UIAgent.Bridge;
            mBridge.SetHotFixInteractor(interacter);

            ILRuntimeUtils.InvokeMethodILR(mUIHotFixer, UIAgent.UIModularName, "UIInit", 0);
        }
        protected sealed override void Purge()
        {
            if (UIInteracterHandler != default)
            {
                mUI.Remove(UIInteracterHandler);
            }
            else
            {
            }

            ILRuntimeUtils.InvokeMethodILR(mUIHotFixer, UIAgent.UIModularName, "UIExit", 0);

            mBridge     = default;
            mUIHotFixer = default;
        }