少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-12 092ad0a46f1eef63b7f02ef38af0a14aa9e4372d
3335 重构窗口管理
11个文件已修改
436 ■■■■ 已修改文件
Lua/LuaWindowUtility.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWin.cs 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairylandCeremony/FairylandCeremonyWin.cs 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/HappyXBWin.cs 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyKnapSackWin.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/KnapSackWin.cs 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/NewYearFairylandCeremony/NewYearFairylandCeremonyWin.cs 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/AchievementActivityWin.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Pet/PetWin.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/WindowCenter.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/LuaWindowUtility.cs
@@ -11,11 +11,6 @@
         WindowCenter.Instance.Open(_name, _forceSync, _functionalOrder);
    }
    public static void OpenWithoutAnimation(string _name)
    {
         WindowCenter.Instance.OpenWithoutAnimation(_name);
    }
    public static Window Get(string _name)
    {
        return WindowCenter.Instance.Get(_name);
System/Compose/New/ComposeWin.cs
@@ -10,7 +10,8 @@
using UnityEngine.UI;
using TableConfig;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class ComposeWin : Window
    {
@@ -39,8 +40,7 @@
        #endregion
        ComposeWinModel _composeModel;
        ComposeWinModel ComposeModel
        {
        ComposeWinModel ComposeModel {
            get { return _composeModel ?? (_composeModel = ModelCenter.Instance.GetModel<ComposeWinModel>()); }
        }
@@ -49,7 +49,7 @@
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
@@ -103,16 +103,16 @@
            {
                ComposeModel.SetCurComposeModel(null);
            }
        }
        protected override void OnActived()
        {
            base.OnActived();
            if (functionOrder == 0 && !WindowJumpMgr.Instance.IsJumpState)
            {
                if(ComposeModel.composeToolRed.state == RedPointState.Simple)
                if (ComposeModel.composeToolRed.state == RedPointState.Simple)
                {
                    _itemUITitleType.state = TitleBtnState.Click;
                    functionOrder = _itemUITitleType.order;
@@ -156,14 +156,14 @@
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            ComposeModel.ResetJumpToModel();
            selectModel.ClearSelectModel();
        }
        protected override void OnAfterClose()
@@ -191,68 +191,36 @@
        private void ClickDogzEquipCompose()
        {
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<ComposeDogzEquipWin>();
            }
            else
            {
                WindowCenter.Instance.Open<ComposeDogzEquipWin>();
            }
            WindowCenter.Instance.Open<ComposeDogzEquipWin>();
            functionOrder = _dogzEquipFunc.order;
        }
        private void OnClickItemCompose()
        {
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<ComposeToolsWin>();
            }
            else
            {
                WindowCenter.Instance.Open<ComposeToolsWin>();
            }
            WindowCenter.Instance.Open<ComposeToolsWin>();
            functionOrder = _itemUITitleType.order;
        }
        private void OnClickEquipCompose()
        {
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<ComposeEquipWin>();
            }
            else
            {
                WindowCenter.Instance.Open<ComposeEquipWin>();
            }
            WindowCenter.Instance.Open<ComposeEquipWin>();
            functionOrder = _equipUITitleType.order;
        }
        private void OnClickGodEquipCompose()
        {
            functionOrder = _godequipUITitleType.order;
        }
        private void OnClickTicketCompose()
        {
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<ComposeTicketWin>();
            }
            else
            {
                WindowCenter.Instance.Open<ComposeTicketWin>();
            }
            WindowCenter.Instance.Open<ComposeTicketWin>();
            functionOrder = _ticketUITitleType.order;
        }
@@ -260,29 +228,15 @@
        private void OnClickWingsCompose()
        {
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<ComposeWingsWin>();
            }
            else
            {
                WindowCenter.Instance.Open<ComposeWingsWin>();
            }
            WindowCenter.Instance.Open<ComposeWingsWin>();
            functionOrder = _wingsUITitleType.order;
        }
        private void GatherSoulCompose()
        {
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<GatherSoulComposeWin>();
            }
            else
            {
                WindowCenter.Instance.Open<GatherSoulComposeWin>();
            }
            WindowCenter.Instance.Open<GatherSoulComposeWin>();
            functionOrder = m_GatherSoulCompose.order;
        }
@@ -291,7 +245,7 @@
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("ComposeWin");
            foreach(var window in children)
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
            }
@@ -299,7 +253,7 @@
        public void OnClickCloseBtn()
        {
            if(ComposeModel.CurComposeModel != null)
            if (ComposeModel.CurComposeModel != null)
            {
                ComposeModel.SetCurComposeModel(null);
            }
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs
@@ -55,11 +55,11 @@
        protected override void OnActived()
        {
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
@@ -101,7 +101,7 @@
            UpdateScore();
            UpdateRank();
            UpdateHonor();
            switch(funcId)
            switch (funcId)
            {
                case 0:
                case 1:
@@ -148,14 +148,7 @@
        {
            if (honorStore_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            if (crossServerWin.windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<CrossServerOneVsOneHonorStoreWin>();
            }
            else
            {
                WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>();
            }
            WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>();
            honorStore_SelectImg.SetActive(true);
        }
@@ -164,14 +157,7 @@
            if (seasonAward_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            if (crossServerWin.windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<SeasonRewardWin>();
            }
            else
            {
                WindowCenter.Instance.Open<SeasonRewardWin>();
            }
            WindowCenter.Instance.Open<SeasonRewardWin>();
            seasonAward_SelectImg.SetActive(true);
        }
@@ -186,14 +172,7 @@
            if (arena_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            if (crossServerWin.windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<CrossServerOneVsOneArenaWin>();
            }
            else
            {
                WindowCenter.Instance.Open<CrossServerOneVsOneArenaWin>();
            }
            WindowCenter.Instance.Open<CrossServerOneVsOneArenaWin>();
            arena_SelectImg.SetActive(true);
        }
@@ -202,14 +181,7 @@
            if (rankAward_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            if (crossServerWin.windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<SegmentRewardWin>();
            }
            else
            {
                WindowCenter.Instance.Open<SegmentRewardWin>();
            }
            WindowCenter.Instance.Open<SegmentRewardWin>();
            rankAward_SelectImg.SetActive(true);
        }
System/FairylandCeremony/FairylandCeremonyWin.cs
@@ -40,13 +40,13 @@
        protected override void OnActived()
        {
            base.OnActived();
            if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
            if (!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
            {
                if(ceremonyModel.rechargeRedp.state == RedPointState.Simple)
                if (ceremonyModel.rechargeRedp.state == RedPointState.Simple)
                {
                    functionOrder = rechargeFunc.order;
                }
                else if(ceremonyModel.peopleRedp.state == RedPointState.Simple)
                else if (ceremonyModel.peopleRedp.state == RedPointState.Simple)
                {
                    functionOrder = peopleToHiFunc.order;
                }
@@ -56,17 +56,17 @@
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
            if(!WindowJumpMgr.Instance.IsJumpState)
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
@@ -85,56 +85,28 @@
        private void ClickOutOf()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<CeremonyOutOfPrintWin>();
            }
            else
            {
                WindowCenter.Instance.Open<CeremonyOutOfPrintWin>();
            }
            WindowCenter.Instance.Open<CeremonyOutOfPrintWin>();
            functionOrder = 3;
        }
        private void ClickPeopleToHi()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<CeremonyPeopleToHiWin>();
            }
            else
            {
                WindowCenter.Instance.Open<CeremonyPeopleToHiWin>();
            }
            WindowCenter.Instance.Open<CeremonyPeopleToHiWin>();
            functionOrder = 2;
        }
        private void ClickFire()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<CeremonyFirepartyWin>();
            }
            else
            {
                WindowCenter.Instance.Open<CeremonyFirepartyWin>();
            }
            WindowCenter.Instance.Open<CeremonyFirepartyWin>();
            functionOrder = 1;
        }
        private void ClickRecharge()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<CeremonyRechargeGiftWin>();
            }
            else
            {
                WindowCenter.Instance.Open<CeremonyRechargeGiftWin>();
            }
            WindowCenter.Instance.Open<CeremonyRechargeGiftWin>();
            functionOrder = 0;
        }
System/HappyXB/HappyXBWin.cs
@@ -14,11 +14,11 @@
        [SerializeField] Button closeBtn;
        [SerializeField] Button leftBtn;
        [SerializeField] Button rightBtn;
        HappyXBModel xBModel { get { return ModelCenter.Instance.GetModel<HappyXBModel>(); } }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
@@ -38,7 +38,7 @@
        protected override void OnActived()
        {
            base.OnActived();
            if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
            if (!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
            {
                if (xBModel.bestXBRed.state == RedPointState.Simple)
                {
@@ -61,12 +61,12 @@
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
@@ -98,14 +98,7 @@
            xBModel.title = HappXBTitle.Warehouse;
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<XBWarehouseWin>();
            }
            else
            {
                WindowCenter.Instance.Open<XBWarehouseWin>();
            }
            WindowCenter.Instance.Open<XBWarehouseWin>();
            functionOrder = xbWarehouseTitle.order;
        }
@@ -118,14 +111,7 @@
            xBModel.title = HappXBTitle.Store;
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<XBStoreWin>();
            }
            else
            {
                WindowCenter.Instance.Open<XBStoreWin>();
            }
            WindowCenter.Instance.Open<XBStoreWin>();
            functionOrder = xbStoreTitle.order;
        }
@@ -133,14 +119,7 @@
        {
            xBModel.title = HappXBTitle.Rune;
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<RuneXBWin>();
            }
            else
            {
                WindowCenter.Instance.Open<RuneXBWin>();
            }
            WindowCenter.Instance.Open<RuneXBWin>();
            functionOrder = runeXBTitle.order;
        }
@@ -148,14 +127,7 @@
        {
            xBModel.title = HappXBTitle.Best;
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<BestXBWin>();
            }
            else
            {
                WindowCenter.Instance.Open<BestXBWin>();
            }
            WindowCenter.Instance.Open<BestXBWin>();
            functionOrder = bestXBTitle.order;
        }
System/JadeDynastyKnapSack/JadeDynastyKnapSackWin.cs
@@ -43,12 +43,12 @@
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
@@ -68,14 +68,7 @@
        private void ClickFuncEquip()
        {
            CloseSubWindows();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<JadeDynastyEquipWin>();
            }
            else
            {
                WindowCenter.Instance.Open<JadeDynastyEquipWin>();
            }
            WindowCenter.Instance.Open<JadeDynastyEquipWin>();
            functionOrder = funcEquip.order;
        }
@@ -97,7 +90,7 @@
        {
            CloseSubWindows();
            CloseImmediately();
            if(!WindowJumpMgr.Instance.IsJumpState)
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
System/KnapSack/New/KnapSackWin.cs
@@ -12,7 +12,8 @@
using UnityEngine.Events;
using UnityEngine.UI;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public enum KnapsackFuncTitle
    {
@@ -49,8 +50,7 @@
        #endregion
        PlayerPackModel _playerPack;
        PlayerPackModel playerPack
        {
        PlayerPackModel playerPack {
            get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
        }
        PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
@@ -86,10 +86,10 @@
            base.OnActived();
            this.transform.SetAsLastSibling();
            _ornamentTitle.state = TitleBtnState.Locked;
            if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0
            if (!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0
                && playerPack.lookLineIndex == -1)
            {
                if(playerPack.redpointEquipDecom.state == RedPointState.Simple)
                if (playerPack.redpointEquipDecom.state == RedPointState.Simple)
                {
                    functionOrder = _devourTitle.order;
                }
@@ -99,7 +99,7 @@
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
@@ -124,23 +124,8 @@
        {
            CloseSubWindows();
            titleType = KnapsackFuncTitle.depot;
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<DepotWin>();
            }
            else
            {
                WindowCenter.Instance.Open<DepotWin>();
            }
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<BagWin>();
            }
            else
            {
                WindowCenter.Instance.Open<BagWin>(true);
            }
            WindowCenter.Instance.Open<DepotWin>();
            WindowCenter.Instance.Open<BagWin>();
            playerPack.SetLookIndex(null);
            playerPack.isPlayBetterEquipEffect = false;
            functionOrder = _depotTitle.order;
@@ -151,14 +136,7 @@
            CloseSubWindows();
            titleType = KnapsackFuncTitle.store;
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<BagStoreWin>();
            }
            else
            {
                WindowCenter.Instance.Open<BagStoreWin>();
            }
            WindowCenter.Instance.Open<BagStoreWin>();
            playerPack.SetLookIndex(null);
            playerPack.isPlayBetterEquipEffect = false;
@@ -171,7 +149,7 @@
            playerPack.SetLookIndex(null);
            playerPack.isPlayBetterEquipEffect = false;
            functionOrder = _ornamentTitle.order;
        }
        private void OnClickBagTitle()
@@ -179,26 +157,10 @@
            CloseSubWindows();
            titleType = KnapsackFuncTitle.bag;
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<BagWin>();
            }
            else
            {
                WindowCenter.Instance.Open<BagWin>(true);
            }
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<RoleEquipWin>();
            }
            else
            {
                WindowCenter.Instance.Open<RoleEquipWin>();
            }
            WindowCenter.Instance.Open<BagWin>();
            WindowCenter.Instance.Open<RoleEquipWin>();
            functionOrder = _bagTitle.order;
        }
        private void OnClickDevourTitle()
        {
@@ -207,14 +169,7 @@
            CloseSubWindows();
            titleType = KnapsackFuncTitle.devour;
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<EquipDevourWin>();
            }
            else
            {
                WindowCenter.Instance.Open<EquipDevourWin>();
            }
            WindowCenter.Instance.Open<EquipDevourWin>();
            functionOrder = _devourTitle.order;
        }
System/NewYearFairylandCeremony/NewYearFairylandCeremonyWin.cs
@@ -40,13 +40,13 @@
        protected override void OnActived()
        {
            base.OnActived();
            if(!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
            if (!WindowJumpMgr.Instance.IsJumpState && functionOrder == 0)
            {
                if(ceremonyModel.rechargeRedp.state == RedPointState.Simple)
                if (ceremonyModel.rechargeRedp.state == RedPointState.Simple)
                {
                    functionOrder = rechargeFunc.order;
                }
                else if(ceremonyModel.peopleRedp.state == RedPointState.Simple)
                else if (ceremonyModel.peopleRedp.state == RedPointState.Simple)
                {
                    functionOrder = peopleToHiFunc.order;
                }
@@ -56,17 +56,17 @@
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
            if(!WindowJumpMgr.Instance.IsJumpState)
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
@@ -85,56 +85,28 @@
        private void ClickOutOf()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyOutOfPrintWin>();
            }
            else
            {
                WindowCenter.Instance.Open<NewYearCeremonyOutOfPrintWin>();
            }
            WindowCenter.Instance.Open<NewYearCeremonyOutOfPrintWin>();
            functionOrder = 3;
        }
        private void ClickPeopleToHi()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyPeopleToHiWin>();
            }
            else
            {
                WindowCenter.Instance.Open<NewYearCeremonyPeopleToHiWin>();
            }
            WindowCenter.Instance.Open<NewYearCeremonyPeopleToHiWin>();
            functionOrder = 2;
        }
        private void ClickFire()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyFirepartyWin>();
            }
            else
            {
                WindowCenter.Instance.Open<NewYearCeremonyFirepartyWin>();
            }
            WindowCenter.Instance.Open<NewYearCeremonyFirepartyWin>();
            functionOrder = 1;
        }
        private void ClickRecharge()
        {
            CloseChildWin();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<NewYearCeremonyRechargeGiftWin>();
            }
            else
            {
                WindowCenter.Instance.Open<NewYearCeremonyRechargeGiftWin>();
            }
            WindowCenter.Instance.Open<NewYearCeremonyRechargeGiftWin>();
            functionOrder = 0;
        }
System/OpenServerActivity/AchievementActivityWin.cs
@@ -70,7 +70,7 @@
        private void operationStartEvent(Operation arg1, int arg2)
        {
            if (arg1 == Operation.SpringFestival || arg1== Operation.OpenServiceAchievement)
            if (arg1 == Operation.SpringFestival || arg1 == Operation.OpenServiceAchievement)
            {
                IsButtonNumber();
            }
@@ -118,27 +118,13 @@
        private void OpenServiceAchievementButton()
        {
            CloseChild();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<OpenServiceAchievementWin>();
            }
            else
            {
                WindowCenter.Instance.Open<OpenServiceAchievementWin>(true);
            }
            WindowCenter.Instance.Open<OpenServiceAchievementWin>(true);
            functionOrder = 0;
        }
        private void SpringFestivalButton()
        {
            CloseChild();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<SpringFestivalWin>();
            }
            else
            {
                WindowCenter.Instance.Open<SpringFestivalWin>(true);
            }
            WindowCenter.Instance.Open<SpringFestivalWin>(true);
            functionOrder = 1;
        }
        #endregion
System/Pet/PetWin.cs
@@ -95,43 +95,22 @@
        private void OnClickPetPanel()
        {
            CloseChild();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<MountWin>();
            }
            else
            {
                WindowCenter.Instance.Open<MountWin>(true);
            }
            WindowCenter.Instance.Open<MountWin>(true);
            functionOrder = 1;
        }
        private void OnClickEvolveTrainWin()
        {
            CloseChild();
            if (windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<PetAttributeWin>();
            }
            else
            {
                WindowCenter.Instance.Open<PetAttributeWin>(true);
            }
            WindowCenter.Instance.Open<PetAttributeWin>(true);
            functionOrder = 0;
        }
        void CloseChild()
        {
            if (WindowCenter.Instance.IsOpen<PetAttributeWin>())
            {
                WindowCenter.Instance.Close<PetAttributeWin>();
            }
            if (WindowCenter.Instance.IsOpen<MountWin>())
            {
                WindowCenter.Instance.Close<MountWin>();
            }
            WindowCenter.Instance.Close<PetAttributeWin>();
            WindowCenter.Instance.Close<MountWin>();
        }
    }
}
System/WindowBase/WindowCenter.cs
@@ -144,34 +144,6 @@
            PushOpenCommand(command);
        }
        public void OpenWithoutAnimation<T>() where T : Window
        {
            var command = new OpenCommand()
            {
                name = typeof(T).Name,
                sync = false,
                playAnimatioin = false,
                fromBuiltIn = false,
                functionOrder = 0
            };
            PushOpenCommand(command);
        }
        public void OpenWithoutAnimation(string name)
        {
            var command = new OpenCommand()
            {
                name = name,
                sync = false,
                playAnimatioin = false,
                fromBuiltIn = false,
                functionOrder = 0
            };
            PushOpenCommand(command);
        }
        private void PushOpenCommand(OpenCommand command)
        {
            var name = command.name;