少年修仙传客户端代码仓库
client_Wu Xijin
2019-04-28 3b50d06d004ecc31df7ecaa57927fa35c1ea608e
3335 修改界面功能框架。
27个文件已修改
11个文件已添加
690 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAE_Truck.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAF_Merge.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Alchemy/AlchemyBaseWin.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Auction/AuctionHouseWin.cs 140 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipFrameWin.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/UnionPanel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairylandCeremony/FairylandCeremonyWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousFrameWin.cs 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/LootPreciousFrameWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FriendSystem/New/SocialWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/HappyXBWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyTower/TowerWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/KnapSackWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/NewBieGuidance/NewBieCenter.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/NewYearFairylandCeremony/NewYearFairylandCeremonyWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RolePanel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Rune/RunePanel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureBaseWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipRechargeWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/WelfareWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/OneLevelWin.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/OneLevelWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/Window.cs 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/WindowCenter.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/YinJi.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/FunctionButtonGroup.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/WindowConfig.cs 141 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3e05761d690b75440a6be79207d0fb01
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1d70ccd06161e0443b7a802ad94292f8
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 71e878ac60c49ad4f964dd2dbc725739
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: eed34091b0568664b9fb42f0634496c1
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 32ceb8b7faf99f84a8b73ce53c5e3e4d
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAE_Truck.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 77f69c2b862d1704299a32d0d8eeb71e
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAF_Merge.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: fa14960fa44b0d1439bab471a764e34f
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d914565b65f8e8145988734c4d915834
folderAsset: yes
timeCreated: 1547643019
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
System/Alchemy/AlchemyBaseWin.cs
@@ -28,17 +28,17 @@
        protected override void AddListeners()
        {
            m_AlchemyNormal.AddListener(ShowAlchemyNormal);
            m_AlchemyFairy.AddListener(ShowAlchemyFairy);
            m_AlchemyDrug.AddListener(ShowAlchemyDrug);
            m_Left.AddListener(()=>
            m_AlchemyNormal.AddListener(ShowAlchemyNormal);
            m_AlchemyFairy.AddListener(ShowAlchemyFairy);
            m_AlchemyDrug.AddListener(ShowAlchemyDrug);
            m_Left.AddListener(()=>
            {
                m_FuncGroup.TriggerLast();
            });
            m_Right.AddListener(()=>
            });
            m_Right.AddListener(()=>
            {
                m_FuncGroup.TriggerNext();
            });
            });
            m_Close.AddListener(CloseClick);
        }
@@ -58,10 +58,10 @@
        protected override void OnPreClose()
        {
            CloseSubWindows();
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            CloseSubWindows();
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
@@ -93,10 +93,10 @@
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("AlchemyBaseWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
            var children = WindowConfig.GetChildWindows("AlchemyBaseWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
            }
        }
System/Auction/AuctionHouseWin.cs
@@ -1,112 +1,112 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, February 27, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class AuctionHouseWin : Window
    {
        #region Built-in
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, February 27, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class AuctionHouseWin : Window
    {
        #region Built-in
        [SerializeField] FunctionButtonGroup m_FuncBtnGroup;
        [SerializeField] Button m_CloseBtn;
        [SerializeField] Button m_LeftBtn;
        [SerializeField] Button m_RightBtn;
        [SerializeField] FunctionButton m_FullServiceAuctionWin;//全服拍卖
        [SerializeField] FunctionButton m_FamilyAuctionWin;//仙盟拍卖
        [SerializeField] FunctionButton m_MyAuction;//我的拍卖
        [SerializeField] FunctionButton m_MyFocus;//我的关注
        [SerializeField] Button m_AttentionButton;//我的关注商品
        [SerializeField] Button m_TransactionRecordButton;//成交记录
        [SerializeField] Text m_MoneyText;
        protected override void BindController()
        [SerializeField] FunctionButton m_FullServiceAuctionWin;//全服拍卖
        [SerializeField] FunctionButton m_FamilyAuctionWin;//仙盟拍卖
        [SerializeField] FunctionButton m_MyAuction;//我的拍卖
        [SerializeField] FunctionButton m_MyFocus;//我的关注
        [SerializeField] Button m_AttentionButton;//我的关注商品
        [SerializeField] Button m_TransactionRecordButton;//成交记录
        [SerializeField] Text m_MoneyText;
        protected override void BindController()
        {
            AuctionInquiry.Instance.SendQueryAttentionAuctionItem();//查询拍卖行的关注物品
        }
        protected override void AddListeners()
            AuctionInquiry.Instance.SendQueryAttentionAuctionItem();//查询拍卖行的关注物品
        }
        protected override void AddListeners()
        {
            m_CloseBtn.AddListener(OnClickClose);
            m_LeftBtn.AddListener(OnClickLeftBtn);
            m_RightBtn.AddListener(OnClickRight);
            m_FullServiceAuctionWin.AddListener(OnClickFullServiceAuction);
            m_RightBtn.AddListener(OnClickRight);
            m_FullServiceAuctionWin.AddListener(OnClickFullServiceAuction);
            m_FamilyAuctionWin.AddListener(OnClickFamilyAuction);
            m_MyAuction.AddListener(OnClickMyAuction);
            m_MyFocus.AddListener(OnClickMyFocus);
            m_MyFocus.AddListener(OnClickMyFocus);
         
            m_AttentionButton.AddListener(OnClickAttentionButton);
            m_TransactionRecordButton.AddListener(OnClickTransactionRecordButton);
            m_AttentionButton.AddListener(OnClickAttentionButton);
            m_TransactionRecordButton.AddListener(OnClickTransactionRecordButton);
        }
        AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } }
        protected override void OnPreOpen()
        {
            m_MoneyText.text = UIHelper.GetMoneyCnt(1).ToString();
            model.SetDayRemind();
        AuctionModel model { get { return ModelCenter.Instance.GetModel<AuctionModel>(); } }
        protected override void OnPreOpen()
        {
            m_MoneyText.text = UIHelper.GetMoneyCnt(1).ToString();
            model.SetDayRemind();
        }
        protected override void OnActived()
        {
            //OnClickFullServiceAuction();
            m_FuncBtnGroup.TriggerByOrder(functionOrder);
        }
        protected override void OnAfterOpen()
        }
        protected override void OnAfterOpen()
        {
            PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting;
        }
        protected override void OnPreClose()
            PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting;
        }
        protected override void OnPreClose()
        {
            CloseChild();
            if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>())
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
        protected override void OnAfterClose()
            }
        }
        protected override void OnAfterClose()
        {
            PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;
            PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;
        }
        #endregion
        #endregion
        private void Updatefighting(PlayerDataType info)
        {
            if (info == PlayerDataType.Gold)
            {
                m_MoneyText.text = UIHelper.GetMoneyCnt(1).ToString();
            }
        }
        }
        private void OnClickClose()
        {
            CloseImmediately();
        }
        }
        private void OnClickLeftBtn()
        {
            m_FuncBtnGroup.TriggerLast();
        }
        }
        private void OnClickRight()
        {
            m_FuncBtnGroup.TriggerNext();
        }
        }
        private void OnClickFullServiceAuction()
        {
            CloseChild();
            WindowCenter.Instance.Open<FullServiceAuctionWin>(true);
            functionOrder = m_FullServiceAuctionWin.order;
        }
        }
        private void OnClickFamilyAuction()
        {
            CloseChild();
@@ -139,16 +139,16 @@
      
        private void CloseChild()
        {
            var children = WindowConfig.Get().FindChildWindows("AuctionHouseWin");
            var children = WindowConfig.GetChildWindows("AuctionHouseWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
            }           
        }
    }
}
        }
    }
}
System/Compose/New/ComposeWin.cs
@@ -244,7 +244,7 @@
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("ComposeWin");
            var children = WindowConfig.GetChildWindows("ComposeWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/CrossServerOneVsOne/CrossServerWin.cs
@@ -98,7 +98,7 @@
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("CrossServerWin");
            var children = WindowConfig.GetChildWindows("CrossServerWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/Dogz/DogzWin.cs
@@ -124,7 +124,7 @@
        void CloseChild()
        {
            var children = WindowConfig.Get().FindChildWindows("DogzWin");
            var children = WindowConfig.GetChildWindows("DogzWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/Equip/EquipFrameWin.cs
@@ -73,7 +73,7 @@
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("EquipFrameWin");
            var children = WindowConfig.GetChildWindows("EquipFrameWin");
            foreach (var item in children)
            {
                WindowCenter.Instance.Close(item);
@@ -89,8 +89,8 @@
        private void OpenStrengthenWin()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<EquipStrengthWin>();
            CloseSubWindows();
            WindowCenter.Instance.Open<EquipStrengthWin>();
            functionOrder = m_Strengthen.order;
        }
System/FairyAu/UnionPanel.cs
@@ -134,7 +134,7 @@
        void CloseChildWin()
        {
            funcPanel.SetActive(false);
            var children = WindowConfig.Get().FindChildWindows("UnionPanel");
            var children = WindowConfig.GetChildWindows("UnionPanel");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/FairylandCeremony/FairylandCeremonyWin.cs
@@ -112,7 +112,7 @@
        private void CloseChildWin()
        {
            var children = WindowConfig.Get().FindChildWindows("FairylandCeremonyWin");
            var children = WindowConfig.GetChildWindows("FairylandCeremonyWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/FindPrecious/FindPreciousFrameWin.cs
@@ -12,37 +12,20 @@
namespace Snxxz.UI
{
    public class FindPreciousFrameWin : Window
    public class FindPreciousFrameWin : OneLevelWin
    {
        [SerializeField] FunctionButtonGroup m_FunctionGroup;
        [SerializeField] FunctionButton m_DemonJar;
        [SerializeField] FunctionButton m_WorldBoss;
        [SerializeField] FunctionButton m_BossHome;
        [SerializeField] FunctionButton m_PersonalBoss;
        [SerializeField] FunctionButton m_ElderGodArea;
        [SerializeField] FunctionButton m_DropRecord;
        [SerializeField] Button m_Left;
        [SerializeField] Button m_Right;
        [SerializeField] Button m_Close;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_DemonJar.AddListener(ShowDemonJar);
            m_WorldBoss.AddListener(ShowWorldBoss);
            m_BossHome.AddListener(ShowBossHome);
            m_PersonalBoss.AddListener(ShowPersonalBoss);
            m_ElderGodArea.AddListener(ShowElderGodArea);
            m_DropRecord.AddListener(ShowDropRecord);
            m_Left.AddListener(ShowLastFunction);
            m_Right.AddListener(ShowNextFunction);
            m_Close.AddListener(CloseClick);
            base.AddListeners();
            SetFunctionListener(0, ShowDemonJar);
            SetFunctionListener(1, ShowWorldBoss);
            SetFunctionListener(2, ShowBossHome);
            SetFunctionListener(3, ShowPersonalBoss);
            SetFunctionListener(4, ShowElderGodArea);
            SetFunctionListener(5, ShowDropRecord);
        }
        protected override void OnPreOpen()
@@ -61,20 +44,11 @@
        protected override void OnAfterClose()
        {
            if (!WindowJumpMgr.Instance.IsJumpState)
            {
                WindowCenter.Instance.Open<MainInterfaceWin>();
            }
        }
        protected override void OnActived()
        {
            base.OnActived();
            m_Left.gameObject.SetActive(m_FunctionGroup.unLockedCount > 1);
            m_Right.gameObject.SetActive(m_FunctionGroup.unLockedCount > 1);
            m_FunctionGroup.TriggerByOrder(functionOrder);
            m_FunctionGroup.GotoOrder(functionOrder);
        }
        #endregion
@@ -82,61 +56,42 @@
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<DemonJarWin>();
            functionOrder = m_DemonJar.order;
            functionOrder = 0;
        }
        private void ShowWorldBoss()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<WorldBossWin>();
            functionOrder = m_WorldBoss.order;
            functionOrder = 1;
        }
        private void ShowBossHome()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<BossHomeWin>();
            functionOrder = m_BossHome.order;
            functionOrder = 2;
        }
        private void ShowPersonalBoss()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<PersonalBossWin>();
            functionOrder = m_PersonalBoss.order;
            functionOrder = 3;
        }
        private void ShowElderGodArea()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<ElderGodAreaWin>();
            functionOrder = m_ElderGodArea.order;
            functionOrder = 4;
        }
        private void ShowDropRecord()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<PreciousDropRecordWin>();
            functionOrder = m_DropRecord.order;
        }
        private void CloseSubWindows()
        {
            var subWindows = WindowConfig.Get().FindChildWindows("FindPreciousFrameWin");
            foreach ( var window in subWindows )
            {
                WindowCenter.Instance.Close(window);
            }
        }
        private void ShowLastFunction()
        {
            m_FunctionGroup.TriggerLast();
        }
        private void ShowNextFunction()
        {
            m_FunctionGroup.TriggerNext();
            functionOrder = 5;
        }
    }
System/FindPrecious/LootPreciousFrameWin.cs
@@ -118,7 +118,7 @@
        {
            m_NormalBottom.gameObject.SetActive(false);
            var children = WindowConfig.Get().FindChildWindows("LootPreciousFrameWin");
            var children = WindowConfig.GetChildWindows("LootPreciousFrameWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/FriendSystem/New/SocialWin.cs
@@ -89,7 +89,7 @@
        void CloseChild()
        {
            friendTipsObj.SetActive(false);
            var children = WindowConfig.Get().FindChildWindows("SocialWin");
            var children = WindowConfig.GetChildWindows("SocialWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/HappyXB/HappyXBWin.cs
@@ -133,7 +133,7 @@
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("HappyXBWin");
            var children = WindowConfig.GetChildWindows("HappyXBWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/JadeDynastyTower/TowerWin.cs
@@ -83,7 +83,7 @@
        private void CloseSubWindows()
        {
            var windows = WindowConfig.Get().FindChildWindows("TowerWin");
            var windows = WindowConfig.GetChildWindows("TowerWin");
            foreach (var item in windows)
            {
                WindowCenter.Instance.Close(item);
System/KnapSack/New/KnapSackWin.cs
@@ -177,7 +177,7 @@
        private void CloseSubWindows()
        {
            var children = WindowConfig.Get().FindChildWindows("KnapSackWin");
            var children = WindowConfig.GetChildWindows("KnapSackWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/NewBieGuidance/NewBieCenter.cs
@@ -179,7 +179,7 @@
                ignoreWindows.Add(triggerWindows[currentGuide].name);
                var parent = string.Empty;
                if (WindowConfig.Get().FindParentWindow(triggerWindows[currentGuide].name, out parent))
                if (WindowConfig.FindParentWindow(triggerWindows[currentGuide].name, out parent))
                {
                    ignoreWindows.Add(parent);
                }
System/NewYearFairylandCeremony/NewYearFairylandCeremonyWin.cs
@@ -112,7 +112,7 @@
        private void CloseChildWin()
        {
            var children = WindowConfig.Get().FindChildWindows(this.GetType().Name);
            var children = WindowConfig.GetChildWindows(this.GetType().Name);
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/OpenServerActivity/OpenServerActivityWin.cs
@@ -618,7 +618,7 @@
        private void CloseOtherWin()
        {
            var children = WindowConfig.Get().FindChildWindows("OpenServerActivityWin");
            var children = WindowConfig.GetChildWindows("OpenServerActivityWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/Role/RolePanel.cs
@@ -371,7 +371,7 @@
                OnDisableRole();
                m_RoleInfoRt.gameObject.SetActive(false);
            }
            var children = WindowConfig.Get().FindChildWindows("RolePanel");
            var children = WindowConfig.GetChildWindows("RolePanel");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/Rune/RunePanel.cs
@@ -86,7 +86,7 @@
        private void CloseChild()
        {
            var children = WindowConfig.Get().FindChildWindows("RunePanel");
            var children = WindowConfig.GetChildWindows("RunePanel");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/Skill/SkillWin.cs
@@ -113,7 +113,7 @@
        void CloseChild()
        {
            var children = WindowConfig.Get().FindChildWindows("SkillWin");
            var children = WindowConfig.GetChildWindows("SkillWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/Treasure/TreasureBaseWin.cs
@@ -244,7 +244,7 @@
        private void Back()
        {
            var childrens = WindowConfig.Get().FindChildWindows("TreasureBaseWin");
            var childrens = WindowConfig.GetChildWindows("TreasureBaseWin");
            bool existAnyChildWindow = false;
            foreach (var window in childrens)
            {
@@ -327,7 +327,7 @@
        private void CloseSubWindows()
        {
            var childrens = WindowConfig.Get().FindChildWindows("TreasureBaseWin");
            var childrens = WindowConfig.GetChildWindows("TreasureBaseWin");
            foreach (var window in childrens)
            {
                WindowCenter.Instance.Close(window);
System/Vip/VipRechargeWin.cs
@@ -117,7 +117,7 @@
        private void CloseChildWin()
        {
            var children = WindowConfig.Get().FindChildWindows("VipRechargeWin");
            var children = WindowConfig.GetChildWindows("VipRechargeWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/Welfare/WelfareWin.cs
@@ -118,7 +118,7 @@
        #endregion
        private void CloseChildWin()
        {
            var children = WindowConfig.Get().FindChildWindows("WelfareWin");
            var children = WindowConfig.GetChildWindows("WelfareWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
System/WindowBase/OneLevelWin.cs
New file
@@ -0,0 +1,102 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Sunday, April 28, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
namespace Snxxz.UI
{
    public class OneLevelWin : Window
    {
        Image m_TitleIcon;
        FunctionButtonGroup m_Group;
        Button m_Left;
        Button m_Right;
        Button m_Close;
        RectTransform m_SubWindowContainer;
        public RectTransform subWindowContainer { get { return m_SubWindowContainer; } }
        #region Built-in
        protected override void BindController()
        {
            m_TitleIcon = this.GetComponent<Image>("Pivot/Container_BackGround/Img_Title");
            m_Group = this.GetComponent<FunctionButtonGroup>("Pivot/Container_Functions");
            m_Left = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Left");
            m_Right = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Right");
            m_Close = this.GetComponent<Button>("Pivot/Container_Buttons/Btn_Close");
            m_SubWindowContainer = this.GetComponent<RectTransform>("Container_SubWindow");
            var name = this.GetType().Name;
            var children = WindowConfig.GetChildWindows(name);
            foreach (var child in children)
            {
                var info = WindowConfig.GetWindowFunctionInfo(name, child);
                m_Group.AddFunction(info.order, info.functionId, Language.Get(info.titleKey), info.redPointId);
            }
            m_TitleIcon.SetSprite(WindowConfig.GetTitleIconKey(name));
            m_TitleIcon.SetNativeSize();
        }
        protected override void AddListeners()
        {
            m_Close.SetListener(() => { WindowCenter.Instance.Close(this.GetType().Name); });
            m_Left.SetListener(() => { m_Group.TriggerLast(); });
            m_Right.SetListener(() => { m_Group.TriggerNext(); });
        }
        protected override void OnPreOpen()
        {
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        protected override void OnActived()
        {
            base.OnActived();
            m_Left.gameObject.SetActive(m_Group.unLockedCount > 1);
            m_Right.gameObject.SetActive(m_Group.unLockedCount > 1);
        }
        #endregion
        protected virtual void CloseSubWindows()
        {
            var subWindows = WindowConfig.GetChildWindows(this.GetType().Name);
            foreach (var window in subWindows)
            {
                WindowCenter.Instance.Close(window);
            }
        }
        protected void SetFunctionListener(int order, UnityAction callBack)
        {
            m_Group.SetFunctionListener(order, callBack);
        }
    }
}
System/WindowBase/OneLevelWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 5463ece122afcd648bffd43c15a2db3a
timeCreated: 1556421570
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/WindowBase/Window.cs
@@ -72,15 +72,24 @@
            {
                windowTimer = 0f;
                var parentName = string.Empty;
                if (WindowConfig.Get().FindParentWindow(this.gameObject.name, out parentName))
                if (WindowConfig.FindParentWindow(this.gameObject.name, out parentName))
                {
                    var parentWindow = WindowCenter.Instance.Get(parentName);
                    if (parentWindow != null)
                    if (parentWindow is OneLevelWin)
                    {
                        parent = (parentWindow as OneLevelWin).subWindowContainer;
                    }
                    else
                    {
                        parent = parentWindow.transform as RectTransform;
                    }
                    if (parent != null)
                    {
                        rectTransform.MatchWhith(parent);
                    }
                }
                OnPreOpen();
                WindowCenter.Instance.NotifyBeforeOpen(this);
            }
@@ -450,11 +459,11 @@
            try
            {
                var isChildWindow = WindowConfig.Get().IsChildWindow(this.gameObject.name);
                var isChildWindow = WindowConfig.IsChildWindow(this.gameObject.name);
                if (isChildWindow)
                {
                    var parentName = string.Empty;
                    WindowConfig.Get().FindParentWindow(this.gameObject.name, out parentName);
                    WindowConfig.FindParentWindow(this.gameObject.name, out parentName);
                    var parentWindow = WindowCenter.Instance.Get(parentName);
                    if (parentWindow != null && parentWindow.executedActiveWindow)
                    {
@@ -466,7 +475,7 @@
                {
                    OnActived();
                    executedActiveWindow = true;
                    var childWindows = WindowConfig.Get().FindChildWindows(this.gameObject.name);
                    var childWindows = WindowConfig.GetChildWindows(this.gameObject.name);
                    var isParentWindow = childWindows != null;
                    if (isParentWindow)
                    {
System/WindowBase/WindowCenter.cs
@@ -164,7 +164,7 @@
        public void Close(string name)
        {
            if (WindowConfig.Get().IsChildWindow(name))
            if (WindowConfig.IsChildWindow(name))
            {
                CloseImmediately(name);
            }
@@ -241,7 +241,7 @@
                        break;
                }
                isIgnore = isIgnore || WindowConfig.Get().IsChildWindow(name);
                isIgnore = isIgnore || WindowConfig.IsChildWindow(name);
                if (!isIgnore)
                {
                    if (window.windowState == Window.WindowState.Opened || window.windowState == Window.WindowState.Opening)
@@ -265,7 +265,7 @@
                    continue;
                }
                var isIgnore = WindowConfig.Get().IsChildWindow(name);
                var isIgnore = WindowConfig.IsChildWindow(name);
                if (isIgnore)
                {
                    continue;
@@ -314,7 +314,7 @@
                        break;
                }
                isIgnore = isIgnore || WindowConfig.Get().IsChildWindow(name);
                isIgnore = isIgnore || WindowConfig.IsChildWindow(name);
                if (!isIgnore)
                {
                    if (window.windowState == Window.WindowState.Opened || window.windowState == Window.WindowState.Opening)
System/YinJi.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 80212c8f087439f4a8bd063acaf6d098
folderAsset: yes
timeCreated: 1556337107
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
UI/Common/FunctionButtonGroup.cs
@@ -6,6 +6,7 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine.Events;
namespace Snxxz.UI
{
@@ -13,6 +14,7 @@
    public class FunctionButtonGroup : MonoBehaviour
    {
        [SerializeField] ScrollRect m_ScrollRect;
        [SerializeField] RectTransform m_Container;
        public int unLockedCount {
            get {
@@ -41,6 +43,11 @@
                orders.Add(button.order);
                orders.Sort(OrderCompare);
            }
            if (m_ScrollRect != null)
            {
                m_ScrollRect.horizontal = functionButtons.Count > 5;
            }
        }
        public void UnRegister(FunctionButton button)
@@ -56,6 +63,10 @@
                orders.Sort(OrderCompare);
            }
            if (m_ScrollRect != null)
            {
                m_ScrollRect.horizontal = functionButtons.Count > 5;
            }
        }
        public void NotifyToggleOn(FunctionButton button)
@@ -172,6 +183,33 @@
        {
            return a < b ? -1 : 1;
        }
        public FunctionButton AddFunction(int order, int functionId, string title, int redpointId)
        {
            if (m_Container == null)
            {
                return null;
            }
            var instance = UIUtility.CreateWidget("FunctionButton", string.Concat("Function_", order));
            var functionButton = instance.GetComponent<FunctionButton>();
            functionButton.functionId = functionId;
            functionButton.order = order;
            functionButton.title.text = title;
            functionButton.group = this;
            functionButtons[order] = functionButton;
            return functionButton;
        }
        public void SetFunctionListener(int order, UnityAction callBack)
        {
            if (functionButtons.ContainsKey(order))
            {
                functionButtons[order].SetListener(callBack);
            }
        }
    }
}
UI/Common/WindowConfig.cs
@@ -6,25 +6,23 @@
[CreateAssetMenu(menuName = "Config/WindowConfig")]
public class WindowConfig : ScriptableObject
{
    public WindowTable[] windows;
    [NonSerialized] public Dictionary<string, List<string>> parentChildrenTable = new Dictionary<string, List<string>>();
    [NonSerialized] public List<string> childWindows = new List<string>();
    static WindowConfig config;
    public static WindowConfig Get()
    static WindowConfig Get()
    {
        if (config == null)
        {
            config = BuiltInLoader.LoadScriptableObject<WindowConfig>("WindowConfig");
            for (int i = 0; i < config.windows.Length; i++)
            foreach (var table in config.windows)
            {
                var table = config.windows[i];
                var children = config.parentChildrenTable[table.parent] = new List<string>();
                for (int j = 0; j < table.orderTables.Length; j++)
                foreach (var info in table.orderTables)
                {
                    children.Add(table.orderTables[j].window);
                    children.Add(info.window);
                }
                config.childWindows.AddRange(children);
@@ -39,53 +37,29 @@
        config = null;
    }
    public bool FindChildWindow(string _parent, int _order, out string _child)
    public static bool FindParentWindow(string child, out string parent)
    {
        for (int i = 0; i < windows.Length; i++)
        foreach (var table in Get().windows)
        {
            var table = windows[i];
            if (table.parent == _parent)
            foreach (var orderTable in table.orderTables)
            {
                for (int j = 0; j < table.orderTables.Length; j++)
                if (orderTable.window == child)
                {
                    if (table.orderTables[j].order == _order)
                    {
                        _child = table.orderTables[j].window;
                        return true;
                    }
                }
            }
        }
        _child = string.Empty;
        return false;
    }
    public bool FindParentWindow(string _child, out string _parent)
    {
        for (int i = 0; i < windows.Length; i++)
        {
            var table = windows[i];
            for (int j = 0; j < table.orderTables.Length; j++)
            {
                var orderTable = table.orderTables[j];
                if (orderTable.window == _child)
                {
                    _parent = table.parent;
                    parent = table.parent;
                    return true;
                }
            }
        }
        _parent = string.Empty;
        parent = string.Empty;
        return false;
    }
    public List<string> FindChildWindows(string _parent)
    public static List<string> GetChildWindows(string parent)
    {
        if (parentChildrenTable.ContainsKey(_parent))
        if (Get().parentChildrenTable.ContainsKey(parent))
        {
            return parentChildrenTable[_parent];
            return Get().parentChildrenTable[parent];
        }
        else
        {
@@ -93,15 +67,89 @@
        }
    }
    public bool IsChildWindow(string _name)
    public static bool IsParentWindow(string name)
    {
        return childWindows.Contains(_name);
        foreach (var window in Get().windows)
        {
            if (window.parent == name)
            {
                return true;
            }
        }
        return false;
    }
    public static bool IsChildWindow(string name)
    {
        return Get().childWindows.Contains(name);
    }
    public static WindowLevel GetWindowLevel(string name)
    {
        foreach (var window in Get().windows)
        {
            if (window.parent == name)
            {
                return window.level;
            }
        }
        return WindowLevel.None;
    }
    public static string GetWindowPattern(string name)
    {
        foreach (var window in Get().windows)
        {
            if (window.parent == name)
            {
                return window.pattern;
            }
        }
        return string.Empty;
    }
    public static OrderTable GetWindowFunctionInfo(string parent, string child)
    {
        foreach (var table in Get().windows)
        {
            if (table.parent == parent)
            {
                foreach (var info in table.orderTables)
                {
                    if (info.window == child)
                    {
                        return info;
                    }
                }
            }
        }
        return default(OrderTable);
    }
    public static string GetTitleIconKey(string name)
    {
        foreach (var window in Get().windows)
        {
            if (window.parent == name)
            {
                return window.titleIconKey;
            }
        }
        return string.Empty;
    }
    [Serializable]
    public struct WindowTable
    {
        public string parent;
        public string titleIconKey;
        public WindowLevel level;
        public string pattern;
        public OrderTable[] orderTables;
    }
@@ -109,7 +157,18 @@
    public struct OrderTable
    {
        public int order;
        public int functionId;
        public int redPointId;
        public string titleKey;
        public string window;
    }
    public enum WindowLevel
    {
        None,
        OneLevel,
        SecondLevel,
        ThirdLevel,
    }
}