From 2ca5e5d62e58e9dfee480b64cb6d49c3553202ea Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期三, 27 三月 2019 18:02:54 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Treasure/TreasureExhibitionBehaviour.cs        |    1 
 System/Auction/MyAuctionCell.cs                       |    2 
 System/MainWin/RealmEntranceBehaviour.cs.meta         |   12 
 System/MainInterfacePanel/HighSettingTip.cs           |   47 ---
 System/Auction/MyFocusCell.cs                         |    2 
 System/MainInterfacePanel/MainPositionTween.cs        |  163 ++++------
 System/MainInterfacePanel/ChatFrame.cs                |  126 +-------
 System/Treasure/TreasureComponent.cs                  |   66 ++-
 Utility/OperationLogCollect.cs                        |   10 
 Core/SDK/SDKUtility.cs                                |    4 
 System/Auction/FamilyAuctioncell.cs                   |    2 
 System/MainInterfacePanel/MainButtonMisc.cs           |   21 +
 System/Treasure/HumanThreeDimensionsBehaviour.cs      |   75 +++++
 System/MainWin/RealmEntranceBehaviour.cs              |   79 +++++
 System/Treasure/HumanThreeDimensionsBehaviour.cs.meta |   12 
 System/MainInterfacePanel/TaskListTip.cs              |  164 ++++------
 System/MainInterfacePanel/AnimationFadeOut.cs         |   14 
 System/MainInterfacePanel/LowSettingTip.cs            |   42 ++
 System/MainInterfacePanel/MainInterfaceWin.cs         |   22 -
 System/Auction/FullServiceAuctioncell.cs              |    2 
 20 files changed, 445 insertions(+), 421 deletions(-)

diff --git a/Core/SDK/SDKUtility.cs b/Core/SDK/SDKUtility.cs
index 47acbac..2286e51 100644
--- a/Core/SDK/SDKUtility.cs
+++ b/Core/SDK/SDKUtility.cs
@@ -889,7 +889,7 @@
     /// </summary>
     public void FreePlatformPay(string title, float money, string cpInfo)
     {
-        m_PaymentTable["ProductID"] = "snxxz";
+        m_PaymentTable["ProductID"] = "xbqy";
         m_PaymentTable["OperatorID"] = VersionConfig.Get().appId;
         // 鍙栫帺瀹跺尯鏈岻D
         m_PaymentTable["RegionName"] = "s" + ServerListCenter.Instance.currentServer.region_flag;
@@ -1135,7 +1135,7 @@
     {
         BuildFreePlatformInfo(data);
 
-        string _url = StringUtility.Contact("http://pub.game.2460web.com:11000/event_receiver?ProductID=snxxz",
+        string _url = StringUtility.Contact("http://pub.game.2460web.com:11000/event_receiver?ProductID=xbqy",
         "&OperatorID=", VersionConfig.Get().appId,
          "&RegionName=data&RegionID=0&EventID=1105&Time=",
           DateTime.Now.ToString(),
diff --git a/System/Auction/FamilyAuctioncell.cs b/System/Auction/FamilyAuctioncell.cs
index 65b7aba..bc149bb 100644
--- a/System/Auction/FamilyAuctioncell.cs
+++ b/System/Auction/FamilyAuctioncell.cs
@@ -199,7 +199,7 @@
                     int seconds = AuctionItem.NoticeSaleMinutes * 60 - (int)timeSpan.TotalSeconds;
                     m_TimeText.text = Language.Get("PMH_03", TimeUtility.SecondsToHMS(seconds));
                 }
-                else if (minute >= AuctionItem.NoticeSaleMinutes && minute <= AuctionItem.FamilySaleMinutes)//鎷嶅崠涓�
+                else if (minute <= AuctionItem.FamilySaleMinutes+ AuctionItem.NoticeSaleMinutes)//鎷嶅崠涓�
                 {
                     m_OverTime.gameObject.SetActive(false);
                     var maxMoney = AuctionItem.BuyoutPrice * FamilyAuctionItem.ItemCount;
diff --git a/System/Auction/FullServiceAuctioncell.cs b/System/Auction/FullServiceAuctioncell.cs
index 8f6c745..ea270de 100644
--- a/System/Auction/FullServiceAuctioncell.cs
+++ b/System/Auction/FullServiceAuctioncell.cs
@@ -230,7 +230,7 @@
                     int seconds = AuctionItem.NoticeSaleMinutes * 60 - (int)timeSpan.TotalSeconds;
                     m_TimeText.text = Language.Get("PMH_03", TimeUtility.SecondsToHMS(seconds));
                 }
-                else if (minute <= AuctionItem.WorldSaleMinutes)//鎷嶅崠涓�
+                else if (minute <= AuctionItem.WorldSaleMinutes+ AuctionItem.NoticeSaleMinutes)//鎷嶅崠涓�
                 {
                     m_OverTime.gameObject.SetActive(false);
                     var maxMoney = AuctionItem.BuyoutPrice * FullServiceAuction.ItemCount;
diff --git a/System/Auction/MyAuctionCell.cs b/System/Auction/MyAuctionCell.cs
index 4054c55..8e5beaf 100644
--- a/System/Auction/MyAuctionCell.cs
+++ b/System/Auction/MyAuctionCell.cs
@@ -164,7 +164,7 @@
                     int seconds = AuctionItem.NoticeSaleMinutes * 60 - (int)timeSpan.TotalSeconds;
                     m_TimeText.text = Language.Get("PMH_03", TimeUtility.SecondsToHMS(seconds));
                 }
-                else if (minute >= AuctionItem.NoticeSaleMinutes && minute <= AuctionItem.FamilySaleMinutes)//鎷嶅崠涓�
+                else if (minute <= AuctionItem.FamilySaleMinutes+ AuctionItem.NoticeSaleMinutes)//鎷嶅崠涓�
                 {
                     m_OverTime.gameObject.SetActive(false);
                     int seconds = AuctionItem.FamilySaleMinutes * 60 - ((int)timeSpan.TotalSeconds - AuctionItem.NoticeSaleMinutes * 60);
diff --git a/System/Auction/MyFocusCell.cs b/System/Auction/MyFocusCell.cs
index 53e6622..1de1c4d 100644
--- a/System/Auction/MyFocusCell.cs
+++ b/System/Auction/MyFocusCell.cs
@@ -232,7 +232,7 @@
                     int seconds = AuctionItem.NoticeSaleMinutes * 60 - (int)timeSpan.TotalSeconds;
                     m_TimeText.text = Language.Get("PMH_03", TimeUtility.SecondsToHMS(seconds));
                 }
-                else if (minute >= AuctionItem.NoticeSaleMinutes && minute <= AuctionItem.FamilySaleMinutes)//鎷嶅崠涓�
+                else if (minute <= AuctionItem.FamilySaleMinutes+ AuctionItem.NoticeSaleMinutes)//鎷嶅崠涓�
                 {
                     m_OverTime.gameObject.SetActive(false);
                     var maxMoney = AuctionItem.BuyoutPrice * MyFocusItem.ItemCount;
diff --git a/System/MainInterfacePanel/AnimationFadeOut.cs b/System/MainInterfacePanel/AnimationFadeOut.cs
index 4a5686a..de68018 100644
--- a/System/MainInterfacePanel/AnimationFadeOut.cs
+++ b/System/MainInterfacePanel/AnimationFadeOut.cs
@@ -26,7 +26,6 @@
 
         [SerializeField] CanvasGroup m_CanvasGroup;
 
-        [SerializeField] GameObject m_ShadeObj;
         Dictionary<int, List<Transform>> AnimationFadeOutDic = new Dictionary<int, List<Transform>>();
         Dictionary<int, Transform> tranDic = new Dictionary<int, Transform>();
 
@@ -41,26 +40,26 @@
         {
             FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
         }
+
         public void FadeOut()//娣″嚭
         {
             m_Animator.Play("MainFadeIn");
-            m_ShadeObj.SetActive(false);
         }
         public void FadeIn()//娣″叆
         {
             m_Animator.Play("MainFadeOut");
-            m_ShadeObj.SetActive(true);
         }
+
         public void ImmediatelyAppear()//绔嬪埢鍑虹幇
         {
             m_Animator.Play("ImmediatelyAppear", 0, 1);
-            m_ShadeObj.SetActive(true);
         }
+
         public void FadeAtOnce()//绔嬪埢娑堝け
         {
             m_Animator.Play("FadeAtOnce", 0, 1);
-            m_ShadeObj.SetActive(false);
         }
+
         public bool GetIsFadeIn()//鏄惁娣″叆
         {
             if (m_CanvasGroup.alpha < 0.5)
@@ -178,8 +177,6 @@
             switch (index)
             {
                 case 0:
-
-
                     tran.SetParent(lineFadeOut.OneParent);
                     tran.localPosition = Vector3.zero;
                     break;
@@ -199,9 +196,6 @@
                 default:
                     break;
             }
-
-
-
         }
 
         private void PositionReduction()//杩樺師浣嶇疆锛堟妸鐩掑瓙涓殑浣嶇疆鍏ㄩ儴閲嶆柊鎷夊嚭鏉ワ級
diff --git a/System/MainInterfacePanel/ChatFrame.cs b/System/MainInterfacePanel/ChatFrame.cs
index c45d16f..f412e84 100644
--- a/System/MainInterfacePanel/ChatFrame.cs
+++ b/System/MainInterfacePanel/ChatFrame.cs
@@ -20,7 +20,6 @@
         [SerializeField] Button _MailBtn;//閭欢鎸夐挳
         [SerializeField] Button _OneKeyBtn;//鍦板浘鎸傛満
         [SerializeField] Button _AutoBtn;//鑷姩鎸傛満  
-        [SerializeField] Button _FriendsBtn;//濂藉弸鎸夐挳
         [SerializeField] Button _BackPack1Btn;//鑳屽寘鎸夐挳
         [SerializeField] Button _SetupBtn;
 
@@ -28,20 +27,13 @@
         [SerializeField] GameObject AutoImg;//鍘熷湴鎸傛満
 
         [SerializeField] Button m_TaskBtn;//浠诲姟鎸夐挳
+        [SerializeField] Button m_SocialBtn;//绀句氦鎸夐挳
         [SerializeField] Button m_TeamBtn;//闃熶紞鎸夐挳
-        [SerializeField] Button m_RealmBtn;//澧冪晫鎸夐挳
-        [SerializeField] Image m_RealmLV;//澧冪晫绛夌骇
-        [SerializeField] RedpointBehaviour m_RealmRed;
-        [SerializeField] UIEffect m_RealmSfx;
 
         List<int> OneKeyList = new List<int>();
-        TeamModel m_Model;
-        TeamModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TeamModel>()); } }
-        RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
-        CoinTaskTipModel m_CoinTaskTip;
-        CoinTaskTipModel coinTaskTip { get { return m_CoinTaskTip ?? (m_CoinTaskTip = ModelCenter.Instance.GetModel<CoinTaskTipModel>()); } }
 
-        CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
+        TeamModel model { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
+        CoinTaskTipModel coinTaskTip { get { return ModelCenter.Instance.GetModel<CoinTaskTipModel>(); } }
 
         public void Init()
         {
@@ -60,22 +52,18 @@
             FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
             _TongVoiceBtn.voiceRecordSuccessEvent += OnVoiceRecordFairySuccessEvent;
             _TeamChatBtn.voiceRecordSuccessEvent += OnVoiceRecordTeamSuccessEvent;
-            PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting;//鏁版嵁鐨勫埛鏂�(h0418)
-            RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
-            _MailBtn.onClick.AddListener(MailButton);
-            _OneKeyBtn.onClick.AddListener(OneKeyButton);
-            _AutoBtn.onClick.AddListener(AutoButton);
-            _FriendsBtn.onClick.AddListener(TeamBtn);
-            _BackPack1Btn.onClick.AddListener(BackPack1Buton);
-            _SetupBtn.onClick.AddListener(OnSetBtn);
-            m_TaskBtn.AddListener(TaskButton);
-            m_TeamBtn.AddListener(FriendsButton);
-            m_RealmBtn.AddListener(OnRealmButton);
+            _MailBtn.SetListener(MailButton);
+            _OneKeyBtn.SetListener(OneKeyButton);
+            _AutoBtn.SetListener(AutoButton);
+            _BackPack1Btn.SetListener(BackPack1Buton);
+            _SetupBtn.SetListener(OnSetBtn);
+            m_TaskBtn.SetListener(TaskButton);
+            m_SocialBtn.SetListener(FriendsButton);
+            m_TeamBtn.SetListener(OpenTeam);
             myTeamRefreshEvent();
             OnRefreshFairyInfo();
-            CheckRealmSfx();
             MailCountChange();
-            GetRealmLevel();
+
             if (PlayerDatas.Instance.hero != null)
             {
                 if (PlayerDatas.Instance.hero.aiHandler.IsAuto())
@@ -83,8 +71,6 @@
                     OnHeroHandupAIStopPassive();
                 }
             }
-
-            _FriendsBtn.gameObject.SetActive(!CrossServerUtility.IsCrossServerOneVsOne());
         }
 
         public void OnAfterOpen()
@@ -126,10 +112,6 @@
                 OnRefreshFairyInfo();
                 myTeamRefreshEvent();
             }
-            if ((FuncOpenEnum)_type == FuncOpenEnum.Realm)
-            {
-                GetRealmLevel();
-            }
         }
 
         private void MailCountChange()
@@ -168,55 +150,14 @@
             _MailBtn.gameObject.SetActive(isShowMail);
         }
 
-        private void GetRealmLevel()//鍏充簬澧冪晫
-        {
-            int realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-            var realmConfig = RealmConfig.Get(realmLevel);
-            if (FuncOpen.Instance.IsFuncOpen(12))
-            {
-                if (realmConfig != null && realmConfig.Lv > 0)
-                {
-                    m_RealmLV.SetSprite(realmConfig.Img);
-                }
-                else
-                {
-                    m_RealmLV.SetSprite("NoRealm");
-                }
-            }
-            else
-            {
-                m_RealmLV.SetSprite("NoRealm");
-            }
-
-        }
-
-        public void CheckRealmSfx()
-        {
-            var _model = ModelCenter.Instance.GetModel<RealmModel>();
-            if (realmModel.levelUpRedpoint.state == RedPointState.Simple)
-            {
-                m_RealmRed.gameObject.SetActive(false);
-                if (!m_RealmSfx.IsPlaying)
-                {
-                    m_RealmSfx.Play();
-                }
-            }
-            else
-            {
-                m_RealmRed.gameObject.SetActive(true);
-            }
-        }
-
         private void OnSetBtn()
         {
             WindowCenter.Instance.Close<MainInterfaceWin>();
-
             WindowCenter.Instance.Open<SettingUpWin>(false, 3);
         }
 
         private void TaskButton()
         {
-
             WindowCenter.Instance.Close<MainInterfaceWin>();
             WindowCenter.Instance.Open<TaskWin>();
             if (coinTaskTip.IsPopup)
@@ -225,10 +166,9 @@
             }
         }
 
-        private void TeamBtn()
+        private void OpenTeam()
         {
             WindowCenter.Instance.Close<MainInterfaceWin>();
-
             if (model.myTeam.inTeam)
             {
                 WindowCenter.Instance.Open<TeamFrameWin>(false, 1);
@@ -237,8 +177,8 @@
             {
                 WindowCenter.Instance.Open<TeamFrameWin>(false, 0);
             }
-
         }
+
         public void UnInit()
         {
             _TongVoiceBtn.voiceRecordSuccessEvent -= OnVoiceRecordFairySuccessEvent;
@@ -249,26 +189,6 @@
             HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive;
             HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted;
             MailAllModel.Instance.DeleteMailEvent -= MailCountChange;
-            PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;//鏁版嵁鐨勫埛鏂�(h0418)
-            RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
-            m_RealmBtn.RemoveAllListeners();
-            _MailBtn.onClick.RemoveAllListeners();
-            _OneKeyBtn.onClick.RemoveAllListeners();
-            _AutoBtn.onClick.RemoveAllListeners();
-            _FriendsBtn.onClick.RemoveAllListeners();
-            _BackPack1Btn.onClick.RemoveAllListeners();
-            _SetupBtn.onClick.RemoveAllListeners();
-            m_TeamBtn.RemoveAllListeners();
-            m_TaskBtn.RemoveAllListeners();
-
-        }
-
-        private void RedpointValueChangeEvent(int _id)
-        {
-            if (_id == realmModel.levelUpRedpoint.id)
-            {
-                CheckRealmSfx();
-            }
         }
 
         private void OnRefreshFairyInfo()
@@ -312,9 +232,6 @@
 
         void FriendsButton()
         {
-            //MainRedDot.Instance.redPointFriendChat.state = RedPointState.None;
-            //ChatCtrl.Inst.presentChatType = ChatInfoType.Friend;
-            //WindowCenter.Instance.Open<ChatWin>();
             WindowCenter.Instance.Close<MainInterfaceWin>();
             WindowCenter.Instance.Open<SocialWin>();
         }
@@ -327,11 +244,6 @@
         void TongVoiceButton()
         {
             SysNotifyMgr.Instance.ShowTip("UnopenedFunction");
-        }
-        private void OnRealmButton()
-        {
-            WindowCenter.Instance.Open<RealmTransitionWin>();
-            //WindowCenter.Instance.Close<MainInterfaceWin>();
         }
 
         void MailButton()//閭欢鎸夐挳
@@ -472,6 +384,7 @@
                 AutoImg.SetActive(false);
             }
         }
+
         private bool IsDungeon()//鍒ゆ柇鏄惁鍐嶅壇鏈腑
         {
             var mapId = PlayerDatas.Instance.baseData.MapID;
@@ -479,15 +392,6 @@
             return mapConfig != null && mapConfig.MapFBType != 0;
         }
 
-        void Updatefighting(PlayerDataType _tCDBPlayerRefresh)//鏁版嵁鐨勫埛鏂�
-        {
-            switch (_tCDBPlayerRefresh)
-            {
-                case PlayerDataType.RealmLevel:
-                    GetRealmLevel();
-                    break;
-            }
-        }
     }
 
 
diff --git a/System/MainInterfacePanel/HighSettingTip.cs b/System/MainInterfacePanel/HighSettingTip.cs
index 34e3941..d8d24a1 100644
--- a/System/MainInterfacePanel/HighSettingTip.cs
+++ b/System/MainInterfacePanel/HighSettingTip.cs
@@ -20,12 +20,10 @@
         [SerializeField] Button _ShoppingBtn;//鍟嗗煄鎸夐挳
         [SerializeField] Button _RechargeBtn;//鍏呭�兼寜閽�
         [SerializeField] Button _WelfareBtn;//绂忓埄鎸夐挳
-        [SerializeField] Button _TreasureBtn;//瀵诲疂鎸夐挳
         [SerializeField] Button m_OpenService;//寮�鏈嶆椿鍔ㄦ寜閽�
         [SerializeField] Button _RuneTaBtn;//绗﹀嵃鎸夐挳
 
         [SerializeField] Image m_OpenServerTitle;
-
 
         [SerializeField] Transform m_HighSettingTip;//鍒ゅ畾
 
@@ -38,7 +36,6 @@
         [SerializeField] Button storeDesBtn;  //鍟嗗煄娲诲姩鎻忚堪淇℃伅
 
         [SerializeField] HighSettingFadeInFadeOut m_HighSettingFadeInFadeOut;
-        [SerializeField] Button m_Treasure;//娉曞疂鍏ュ彛
 
         [SerializeField] Button m_HappyXBBtn;//瀵诲疂鍏ュ彛
         [SerializeField] Button m_FindHostBtn;//浠欏疂瀵讳富
@@ -79,11 +76,9 @@
             m_LootPrecious.AddListener(LootPreciousButton);
             _MarketBtn.AddListener(MarketButton);
             _ShoppingBtn.AddListener(ShoppingButton);
-            _TreasureBtn.AddListener(TreasureButton);
             _WelfareBtn.AddListener(WelfareButton);
             _DaTreasureBtn.AddListener(DaTreasureButton);
             _RechargeBtn.AddListener(RechargeButton);
-            m_Treasure.AddListener(OpenTreasure);
             _ShowBtn.AddListener(ShowButton);
             _ColseBtn.AddListener(ColseButton);
             m_HappyXBBtn.AddListener(OnClickHappyXBBtn);
@@ -139,11 +134,9 @@
             m_LootPrecious.RemoveAllListeners();
             _MarketBtn.RemoveAllListeners();
             _ShoppingBtn.RemoveAllListeners();
-            _TreasureBtn.RemoveAllListeners();
             _WelfareBtn.RemoveAllListeners();
             _DaTreasureBtn.RemoveAllListeners();
             _RechargeBtn.RemoveAllListeners();
-            m_Treasure.RemoveAllListeners();
             _ShowBtn.RemoveAllListeners();
             _ColseBtn.RemoveAllListeners();
             m_OpenService.RemoveAllListeners();
@@ -209,7 +202,6 @@
         {
             int _order = 0;
             m_OpenService.gameObject.SetActive(OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _order));
-            //m_OpenServerTitle.SetSprite(OpenServerActivityCenter.Instance.IsFlashSaleTitle() ? "WZ_ZJM_29" : "W_HuoDong");
         }
 
         private void OnMainHighTipCdTime()
@@ -243,10 +235,6 @@
             }
         }
 
-        void TreasureButton()//瀵诲疂鎸夐挳
-        {
-
-        }
         void WelfareButton()//绂忓埄鎸夐挳
         {
             WelfareCenter.Instance.OpenWelfare();
@@ -297,35 +285,6 @@
         {
             WindowCenter.Instance.Close<MainInterfaceWin>();
             WindowCenter.Instance.Open<TowerWin>(false, 0);
-        }
-        void OpenTreasure()
-        {
-            var _model = ModelCenter.Instance.GetModel<TreasureModel>();
-            if (!_model.SatisfyEntranceOpen())
-            {
-                _model.DisplayEntranceLimitHint();
-                return;
-            }
-            WindowCenter.Instance.Close<MainInterfaceWin>();
-            if (_model.IsRequireUnlockAnim(TreasureCategory.Human) != 0)
-            {
-                _model.currentCategory = TreasureCategory.Human;
-            }
-            else if (_model.IsRequireUnlockAnim(TreasureCategory.Demon) != 0)
-            {
-                _model.currentCategory = TreasureCategory.Demon;
-            }
-            else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Human - 1])
-                == RedPointState.Simple)
-            {
-                _model.currentCategory = TreasureCategory.Human;
-            }
-            else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Demon - 1])
-                == RedPointState.Simple)
-            {
-                _model.currentCategory = TreasureCategory.Demon;
-            }
-            WindowCenter.Instance.Open<TreasureSelectWin>();
         }
 
         void OnClickHappyXBBtn()//瀵诲疂
@@ -434,19 +393,15 @@
                 CoroutineMgr.Instance.OnMainStopCorUP();
             }
         }
+
         public void ShowButtonNow()//鍚戜笂锛堢珛鍒诲嚭鐜帮級
         {
-
             _ColseBtn.gameObject.SetActive(true);
             _ShowBtn.gameObject.SetActive(false);
             if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && m_HighSettingTip.gameObject.activeSelf)
             {
                 m_HighSettingFadeInFadeOut.PositionNow();//绔嬪埢鍑虹幇
             }
-            //if (!mainModel.IsRedPointShowPanel())
-            //{
-            //    CoroutineMgr.Instance.OnMainStartCorUp(swicthCdTime);
-            //}
         }
 
         private void RefreshOSCEffect()
diff --git a/System/MainInterfacePanel/LowSettingTip.cs b/System/MainInterfacePanel/LowSettingTip.cs
index e0cc117..ad2e2b9 100644
--- a/System/MainInterfacePanel/LowSettingTip.cs
+++ b/System/MainInterfacePanel/LowSettingTip.cs
@@ -16,10 +16,9 @@
         [SerializeField] Button _SkillBtn;//鎶�鑳芥寜閽�
         [SerializeField] Button _Pet1Btn;//瀹犵墿鎸夐挳
         [SerializeField] Button _Synthesis1Btn;//鍚堟垚鎸夐挳
-                                               // [SerializeField] Button _RealmBtn;//澧冪晫
+
         [SerializeField] Button _Rune1Btn;//绗﹀嵃鎸夐挳
         [SerializeField] Button _SetUp1Btn;//璁剧疆鎸夐挳
-
 
         [SerializeField] Button _RankingListBtn;//鎺掕姒滄寜閽�
         [SerializeField] Button _Strengthen1Btn;//寮哄寲鎸夐挳
@@ -29,7 +28,9 @@
         [SerializeField] Button m_TreasureSoulBtn;//瑙夐啋鎸夐挳
         [SerializeField] Button m_GodBeastBtn;//绁炲吔鎸夐挳
         [SerializeField] Button m_JadeDynastyBtn;//璇涗粰瑁呭鎸夐挳
-        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
+
+        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
+
         public void Init()
         {
             _Role1Btn.onClick.AddListener(Role1Button);
@@ -43,7 +44,7 @@
             _SetUp1Btn.onClick.AddListener(SetUp1Btn);
             _RankingListBtn.onClick.AddListener(RankingListButton);
             m_BagualuBtn.AddListener(OnClickBagualuBtn);
-            m_TreasureSoulBtn.AddListener(OnClickTreasureSoul);
+            m_TreasureSoulBtn.AddListener(OpenTreasure);
             m_GodBeastBtn.AddListener(GodBeastBtn);
             m_JadeDynastyBtn.AddListener(OpenEquip);
         }
@@ -57,7 +58,6 @@
             _Synthesis1Btn.onClick.RemoveAllListeners();
             _Rune1Btn.onClick.RemoveAllListeners();
             _Pet1Btn.onClick.RemoveAllListeners();
-            //  _RealmBtn.onClick.RemoveAllListeners();
             _SetUp1Btn.onClick.RemoveAllListeners();
             _RankingListBtn.onClick.RemoveAllListeners();
             m_BagualuBtn.RemoveAllListeners();
@@ -73,7 +73,6 @@
         }
         void OnClickBagualuBtn()
         {
-            //DesignDebug.Log("寰烽緳鐨勫叓鍗︾倝");
             WindowCenter.Instance.Close<MainInterfaceWin>();
             WindowCenter.Instance.Open<BlastFurnaceWin>();
         }
@@ -102,12 +101,39 @@
                 WindowCenter.Instance.Open<SkillWin>();
             }
 
-            //DesignDebug.Log("鎶�鑳芥寜閽�");
         }
-        void OnClickTreasureSoul()
+
+        void OpenTreasure()
         {
+            if (!treasureModel.SatisfyEntranceOpen())
+            {
+                treasureModel.DisplayEntranceLimitHint();
+                return;
+            }
+
             WindowCenter.Instance.Close<MainInterfaceWin>();
+            if (treasureModel.IsRequireUnlockAnim(TreasureCategory.Human) != 0)
+            {
+                treasureModel.currentCategory = TreasureCategory.Human;
+            }
+            else if (treasureModel.IsRequireUnlockAnim(TreasureCategory.Demon) != 0)
+            {
+                treasureModel.currentCategory = TreasureCategory.Demon;
+            }
+            else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Human - 1])
+                == RedPointState.Simple)
+            {
+                treasureModel.currentCategory = TreasureCategory.Human;
+            }
+            else if (RedpointCenter.Instance.GetRedpointState(TreasureModel.CATEGORY_REDPOINTIDS[(int)TreasureCategory.Demon - 1])
+                == RedPointState.Simple)
+            {
+                treasureModel.currentCategory = TreasureCategory.Demon;
+            }
+
+            WindowCenter.Instance.Open<TreasureSelectWin>();
         }
+
         private void GodBeastBtn()
         {
             WindowCenter.Instance.Close<MainInterfaceWin>();
diff --git a/System/MainInterfacePanel/MainButtonMisc.cs b/System/MainInterfacePanel/MainButtonMisc.cs
index 896c0f8..336018e 100644
--- a/System/MainInterfacePanel/MainButtonMisc.cs
+++ b/System/MainInterfacePanel/MainButtonMisc.cs
@@ -19,7 +19,6 @@
         [SerializeField] Button m_MysticalPurchaseImg;
         [SerializeField] Button m_DungeonAssistImg;
         [SerializeField] RectTransform m_ContainerGotoGrabBoss;
-        [SerializeField] RectTransform m_ContainerAdaptiveChat;
         [SerializeField] Button m_GotoFairyGrabBoss;
         [SerializeField] Button m_FlyToFairyGrabBoss;
         [SerializeField] Button m_FriendQuestBtn;
@@ -34,6 +33,7 @@
         FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
         FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
         FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
+
         private void Start()
         {
             m_RedBag.SetListener(RedPacketButton);
@@ -45,6 +45,7 @@
             m_FlyToFairyGrabBoss.SetListener(FlyToFairyGrabBoss);
             m_FairyRequestBtn.SetListener(OnFairyRequestClick);
         }
+
         public void Init()
         {
             friendsModel.askAddFriendEvent = FriendQuestBtn;
@@ -70,12 +71,13 @@
             ChatTip.OnChatUpEvent += RefreshAdaptiveChat;
             fairyModel.UpdateFairyRequestEvent += UpdateFairyRequest;
         }
+
         public void OnActived()
         {
             RefreshAdaptiveChat();
-
         }
-        public void Unit()
+
+        public void UnInit()
         {
             m_CollectBehaviour.Dispose();
             RedPacketModel.OnRedBagGetEvent -= OnRedBagGet;
@@ -207,6 +209,7 @@
                 WindowCenter.Instance.Open<OpenServerActivityWin>(false, 2);
             }
         }
+
         void OnArriveCollectNPC(uint sid, int npcID)
         {
             m_CollectBehaviour.gameObject.SetActive(true);
@@ -218,48 +221,56 @@
             m_CollectBehaviour.Dispose();
             m_CollectBehaviour.gameObject.SetActive(false);
         }
+
         private void ClickWishAward()
         {
             WindowCenter.Instance.Open<WishingGetItemWin>();
         }
+
         private void UpdateWishAwardImag()
         {
             m_WishingAwardImg.gameObject.SetActive(wishModel.wishingAwardDict.Count > 0 ? true : false);
         }
+
         private void ClickMysticalPurchase()
         {
             WindowCenter.Instance.Open<OpenServerActivityWin>(false, (int)OpenServerActivityCenter.OSActivityType.MysticalPurchase);
         }
+
         private void UpdateMysticalPurchaseImag()
         {
             m_MysticalPurchaseImg.gameObject.SetActive(purchaseModel.priorityOpen);
         }
+
         private void ClickDungeonAssist()
         {
             WindowCenter.Instance.Open<DungeonAssistWin>();
         }
+
         private void UpdateDungeonAssistImag()
         {
             m_DungeonAssistImg.gameObject.SetActive(assistModel.IsNewAssistInfo);
         }
+
         private void ShowFairyGrabBoss()
         {
             m_ContainerGotoGrabBoss.gameObject.SetActive(fairyGrabBossModel.cacheGotoBossId != 0 &&
                 !fairyGrabBossModel.grabBossHintOpen);
         }
+
         private void bossGrabHintEvent()
         {
             ShowFairyGrabBoss();
         }
+
         private void RefreshAdaptiveChat()
         {
             if (ChatTip.Inst == null)
             {
                 return;
             }
-            m_ContainerAdaptiveChat.sizeDelta = m_ContainerAdaptiveChat.sizeDelta.SetY(
-                ChatTip.Inst.IsChatUp ? ChatTip.Inst.chatHighSize.y : ChatTip.Inst.chatLowSize.y);
         }
+
         private void GotoFairyGrabBoss()
         {
             if (fairyGrabBossModel.cacheGotoBossId != 0)
diff --git a/System/MainInterfacePanel/MainInterfaceWin.cs b/System/MainInterfacePanel/MainInterfaceWin.cs
index 4ac1d71..3cf069d 100644
--- a/System/MainInterfacePanel/MainInterfaceWin.cs
+++ b/System/MainInterfacePanel/MainInterfaceWin.cs
@@ -86,7 +86,6 @@
             recordPositionBool = true;
             TaskSwithBool = true;
             m_MainPositionTween.SetTaskPos(true);
-            m_MainPositionTween.SetFunctionForecastPos(true);
             m_MailObj.SetActive(true);       
             ListBossMapId.Clear();
             string strBoss = FuncConfigConfig.Get("TaskRetract").Numerical1;
@@ -250,7 +249,7 @@
             m_TeamInvitationEntrance.UnInit();
             m_FairyCallBehaviour.UnInit();
             m_FairyLeagueRemind.UnInit();
-            m_MainButtonMisc.Unit();
+            m_MainButtonMisc.UnInit();
 
             PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;
             FunctionUnlockFlyObject.functionUnLockShowBeginEvent -= UnFlodFunctionArea;
@@ -488,27 +487,20 @@
 
         void TaskSwithButton()
         {
-            var inDungeon = IsDungeon();            
             if (TaskSwithBool)//闅愯棌
             {
                 m_MainPositionTween.SetTaskPosTween(false);
-                if (!inDungeon)
-                {
-                    m_MainPositionTween.SetFunctionForecastPosTween(false);
-                }
             }
             else//鏄剧ず
             {
                 m_MainPositionTween.SetTaskPosTween(true);
-                if (!inDungeon)
-                {
-                    m_MainPositionTween.SetFunctionForecastPosTween(true);
-                }
             }
+
             if (onMainModel.IsBossAreaTask)
             {
                 onMainModel.IsBossAreaTask = false;
             }
+
             TaskSwithBool = !TaskSwithBool;
         }
 
@@ -709,10 +701,6 @@
         {
             bool _chatWinOpen = WindowCenter.Instance.IsOpen<ChatWin>();
             m_ChatTip.gameObject.SetActive(!_chatWinOpen);
-            if (!_chatWinOpen)
-            {
-                m_ChatTip.CheckRealmSfx();
-            }
         }
 
         private void WindowAfterEvent(Window _win)
@@ -820,7 +808,7 @@
                 }
                 if (Event_Duplicates != null && inDungeon)
                 {
-                    Event_Duplicates(true, m_MainPositionTween.CopyOfThePanelSpeed);
+                    Event_Duplicates(true, m_MainPositionTween.rightTopSwitchTime);
                 }
                 onMainModel.MainTopPanelShow = true;
                 if (_isTween)
@@ -840,7 +828,7 @@
                 }
                 if (Event_Duplicates != null && inDungeon)
                 {
-                    Event_Duplicates(false, m_MainPositionTween.CopyOfThePanelSpeed);
+                    Event_Duplicates(false, m_MainPositionTween.rightTopSwitchTime);
                 }
                 onMainModel.MainTopPanelShow = false;
                 if (_isTween)
diff --git a/System/MainInterfacePanel/MainPositionTween.cs b/System/MainInterfacePanel/MainPositionTween.cs
index d5ec005..988f06d 100644
--- a/System/MainInterfacePanel/MainPositionTween.cs
+++ b/System/MainInterfacePanel/MainPositionTween.cs
@@ -12,210 +12,191 @@
 
     public class MainPositionTween : MonoBehaviour
     {
-        [Header("涓荤晫闈㈤《閮ㄤ笂涓嬪垏鎹㈡ā鍧�")]
-        public float CopyOfThePanelSpeed = 1f;//鍓湰闈㈡澘绉诲姩閫熷害
-        [SerializeField] Transform m_CopyOfThePanel;
-        [SerializeField] Transform m_CopyOfThePosition1;
-        [SerializeField] Transform m_CopyOfThePosition2;
-        [SerializeField] Transform m_ContainerBossList;
-        [Header("涓荤晫闈㈡妧鑳介潰鏉垮垏鎹㈡ā鍧�")]
-        public float SwitchSkillTipAndButtonTipSpeed = 1.2f;//鎶�鑳介潰鏉垮拰鎸夐挳闈㈡澘鐨勭Щ鍔ㄩ�熷害
-        [SerializeField] Transform m_CastSkillTip;//鎶�鑳介潰鏉�
-        [SerializeField] Transform m_position1_S;
-        [SerializeField] Transform m_position2_S;
-        [SerializeField] AnimationFadeOut m_AnimationFadeOut;//鍙充笅瑙掓寜閽粍
-        [Header("涓荤晫闈换鍔℃ā鍧�")]
-        public float TaskSpeed = 0.2f;//浠诲姟闈㈡澘绉诲姩鐨勯�熷害
-        [SerializeField] Transform m_TaskAndTeamPanel;
-        [SerializeField] Transform m_TaskListTipAnchor1;
-        [SerializeField] Transform m_TaskListTipAnchor2;
-        [SerializeField] GameObject m_LeftImage;
-        [SerializeField] GameObject m_RightImg;
-        [Header("鍔熻兘棰勫憡妯″潡")]
-        [SerializeField] Transform m_FunctionForecastPanel;
-        [SerializeField] Transform m_unctionForecastPosition1;
-        [SerializeField] Transform m_unctionForecastPosition2;
         [Header("鍒囨崲鎸夐挳鏃嬭浆")]
         public Vector3 Vec3 = new Vector3(0f, 0f, 225f);//鍒囨崲鏃嬭浆鐨勮搴�
         [SerializeField] Transform m_ImageRotation;//鍒囨崲婊氬姩
-        public bool IsSetCopyOfThePanelShow
-        {
-            get
-            {
-                return (m_CopyOfThePanel.position - m_CopyOfThePosition1.position).sqrMagnitude < (2.5 * 2.5);
+
+        [Header("涓荤晫闈㈤《閮ㄤ笂涓嬪垏鎹㈡ā鍧�")]
+        public float rightTopSwitchTime = 1f;
+        [SerializeField] Transform m_RightTopFunction;
+        [SerializeField] Transform m_ContainerBossList;
+        [SerializeField] Transform m_RightTopPosition1;
+        [SerializeField] Transform m_RightTopPosition2;
+
+        [Header("涓荤晫闈㈡妧鑳介潰鏉垮垏鎹㈡ā鍧�")]
+        public float rightBottomSwitchTime = 1.2f;
+        [SerializeField] Transform m_ContainerSkill;//鎶�鑳介潰鏉�
+        [SerializeField] Transform m_SkillPosition1;
+        [SerializeField] Transform m_SkillPosition2;
+        [SerializeField] AnimationFadeOut m_AnimationFadeOut;//鍙充笅瑙掓寜閽粍
+
+        [Header("涓荤晫闈换鍔℃ā鍧�")]
+        public float leftMiddleSwitchTime = 0.5f;//浠诲姟闈㈡澘绉诲姩鐨勯�熷害
+        [SerializeField] Transform m_ContainerLeftMiddle;
+        [SerializeField] Transform m_LeftMiddlePosition1;
+        [SerializeField] Transform m_LeftMiddlePosition2;
+        [SerializeField] GameObject m_LeftImage;
+        [SerializeField] GameObject m_RightImg;
+
+        public bool IsSetCopyOfThePanelShow {
+            get {
+                return (m_RightTopFunction.localPosition - m_RightTopPosition1.localPosition).sqrMagnitude < (2.5 * 2.5);
             }
         }
-        public void SetCopyOfThePanelPos(bool _bool)
+
+        void SetRightTopWidgetPosition(bool _bool)
         {
             if (_bool)
             {
-                m_CopyOfThePanel.localPosition = m_CopyOfThePosition1.localPosition;
+                m_RightTopFunction.localPosition = m_RightTopPosition1.localPosition;
             }
             else
             {
-                m_CopyOfThePanel.localPosition = m_CopyOfThePosition2.localPosition;
+                m_RightTopFunction.localPosition = m_RightTopPosition2.localPosition;
             }
-        }
-        public void SetCopyOfThePanelTweenPos(bool _bool)
+        }
+
+        void SetRightTopWidgetPositionTween(bool _bool)
         {
             if (_bool)
             {
-                m_CopyOfThePanel.DOLocalMoveY(m_CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
+                m_RightTopFunction.DOLocalMoveY(m_RightTopPosition1.localPosition.y, rightTopSwitchTime);
             }
             else
             {
-                m_CopyOfThePanel.DOLocalMoveY(m_CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed);
+                m_RightTopFunction.DOLocalMoveY(m_RightTopPosition2.localPosition.y, rightTopSwitchTime);
             }
         }
-        public void SetBossListPos(bool _bool)
+
+        void SetBossListPos(bool _bool)
         {
             if (_bool)
             {
-                m_ContainerBossList.localPosition = m_CopyOfThePosition1.localPosition;
+                m_ContainerBossList.localPosition = m_RightTopPosition1.localPosition;
             }
             else
             {
-                m_ContainerBossList.localPosition = m_CopyOfThePosition2.localPosition;
+                m_ContainerBossList.localPosition = m_RightTopPosition2.localPosition;
             }
         }
-        public void SetBossListTweenPos(bool _bool)
+
+        void SetBossListTweenPos(bool _bool)
         {
             if (_bool)
             {
-                m_ContainerBossList.DOLocalMoveY(m_CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
+                m_ContainerBossList.DOLocalMoveY(m_RightTopPosition1.localPosition.y, rightTopSwitchTime);
             }
             else
             {
-                m_ContainerBossList.DOLocalMoveY(m_CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed);
+                m_ContainerBossList.DOLocalMoveY(m_RightTopPosition2.localPosition.y, rightTopSwitchTime);
             }
         }
+
         public void SetTipAndBossPos(bool _bool)
         {
             if (_bool)
             {
-                SetCopyOfThePanelPos(true);
+                SetRightTopWidgetPosition(true);
                 SetBossListPos(false);
             }
             else
             {
-                SetCopyOfThePanelPos(false);
+                SetRightTopWidgetPosition(false);
                 SetBossListPos(true);
             }
         }
+
         public void SetTipAndBossTweenPos(bool _bool)
         {
             if (_bool)
             {
-                SetCopyOfThePanelTweenPos(true);
+                SetRightTopWidgetPositionTween(true);
                 SetBossListTweenPos(false);
             }
             else
             {
-                SetCopyOfThePanelTweenPos(false);
+                SetRightTopWidgetPositionTween(false);
                 SetBossListTweenPos(true);
             }
         }
-        //-----------------------------
-        public bool IsRightTipPanelShow
-        {
-            get
-            {
-                return (m_CastSkillTip.position - m_position1_S.position).sqrMagnitude < 1;
+
+        public bool IsRightTipPanelShow {
+            get {
+                return (m_ContainerSkill.localPosition - m_SkillPosition1.localPosition).sqrMagnitude < 1;
             }
         }
+
         public void SetSkillTipOrRightTipPos(bool _bool)
         {
             if (_bool)
             {
                 m_AnimationFadeOut.FadeAtOnce();
-                m_CastSkillTip.localPosition = m_position1_S.localPosition;
+                m_ContainerSkill.localPosition = m_SkillPosition1.localPosition;
             }
             else
             {
                 m_AnimationFadeOut.ImmediatelyAppear();
-                m_CastSkillTip.localPosition = m_position2_S.localPosition;
+                m_ContainerSkill.localPosition = m_SkillPosition2.localPosition;
             }
         }
+
         public void SetSkillTipOrRightTipPosTween(bool _bool)
         {
             if (_bool)
             {
                 m_AnimationFadeOut.FadeOut();
-                m_CastSkillTip.DOLocalMoveX(m_position1_S.localPosition.x, SwitchSkillTipAndButtonTipSpeed);
+                m_ContainerSkill.DOLocalMoveX(m_SkillPosition1.localPosition.x, rightBottomSwitchTime);
             }
             else
             {
                 m_AnimationFadeOut.FadeIn();
-                m_CastSkillTip.DOLocalMoveX(m_position2_S.localPosition.x, SwitchSkillTipAndButtonTipSpeed);
+                m_ContainerSkill.DOLocalMoveX(m_SkillPosition2.localPosition.x, rightBottomSwitchTime);
             }
         }
-        //----------------------------
-        public bool IsTaskAndPanelShow
-        {
-            get
-            {
-                return (m_TaskAndTeamPanel.localPosition - m_TaskListTipAnchor1.localPosition).sqrMagnitude < 3*3;
+
+        public bool IsTaskAndPanelShow {
+            get {
+                return (m_ContainerLeftMiddle.localPosition - m_LeftMiddlePosition1.localPosition).sqrMagnitude < 3 * 3;
             }
         }
+
         public void SetTaskPos(bool _bool)
         {
             if (_bool)
             {
-                m_TaskAndTeamPanel.localPosition = m_TaskListTipAnchor1.localPosition;
+                m_ContainerLeftMiddle.localPosition = m_LeftMiddlePosition1.localPosition;
             }
             else
             {
-                m_TaskAndTeamPanel.localPosition = m_TaskListTipAnchor2.localPosition;
+                m_ContainerLeftMiddle.localPosition = m_LeftMiddlePosition2.localPosition;
             }
         }
+
         public void SetTaskPosTween(bool _bool)
         {
             if (_bool)
             {
-                m_TaskAndTeamPanel.DOLocalMoveX(m_TaskListTipAnchor1.localPosition.x, TaskSpeed);
+                m_ContainerLeftMiddle.DOLocalMoveX(m_LeftMiddlePosition1.localPosition.x, leftMiddleSwitchTime);
                 m_LeftImage.SetActive(true);
                 m_RightImg.SetActive(false);
             }
             else
             {
-                m_TaskAndTeamPanel.DOLocalMoveX(m_TaskListTipAnchor2.localPosition.x, TaskSpeed);
+                m_ContainerLeftMiddle.DOLocalMoveX(m_LeftMiddlePosition2.localPosition.x, leftMiddleSwitchTime);
                 m_LeftImage.SetActive(false);
                 m_RightImg.SetActive(true);
             }
         }
-        //-----------------------------
-        public void SetFunctionForecastPos(bool _bool)
-        {
-            if (_bool)
-            {
-                m_FunctionForecastPanel.localPosition = m_unctionForecastPosition1.localPosition;
-            }
-            else
-            {
-                m_FunctionForecastPanel.localPosition = m_unctionForecastPosition2.localPosition;
-            }
-        }
-        public void SetFunctionForecastPosTween(bool _bool)
-        {
-            if (_bool)
-            {
-                m_FunctionForecastPanel.DOLocalMoveX(m_unctionForecastPosition1.localPosition.x, TaskSpeed);
-            }
-            else
-            {
-                m_FunctionForecastPanel.DOLocalMoveX(m_unctionForecastPosition2.localPosition.x, TaskSpeed);
-            }
-        }
-        //--------------------------------
+
         public void SetRotation(bool _bool)
         {
             if (_bool)
             {
-                m_ImageRotation.DOLocalRotate(Vec3, SwitchSkillTipAndButtonTipSpeed);
+                m_ImageRotation.DOLocalRotate(Vec3, rightBottomSwitchTime);
             }
             else
             {
-                m_ImageRotation.DOLocalRotate(Vector3.zero, SwitchSkillTipAndButtonTipSpeed);
+                m_ImageRotation.DOLocalRotate(Vector3.zero, rightBottomSwitchTime);
             }
         }
     }
diff --git a/System/MainInterfacePanel/TaskListTip.cs b/System/MainInterfacePanel/TaskListTip.cs
index 998d3fa..2054c05 100644
--- a/System/MainInterfacePanel/TaskListTip.cs
+++ b/System/MainInterfacePanel/TaskListTip.cs
@@ -22,60 +22,21 @@
         public float ParentPosition = 74;
         public float TaskScrollViewTaskScrollView = 230f;
         public float m_SizeHeight = 72f;//鍗曟潯浠诲姟鐨勫搴�
-        [SerializeField] Transform Parent;//鐖剁骇
+
         [SerializeField] TreasureCollectBriefInfoBehaviour m_HumanTreasure;//浜烘棌娉曞疂
-        [SerializeField] Transform TaskScrollView;//浠诲姟鏉′綅缃�
         [SerializeField] Transform Content;//浠诲姟鏉$埗鑺傜偣
         [SerializeField] ScrollRect m_ScrollRect;
+
         public int TaskId = 0;//浠诲姟ID
         List<int> _list = new List<int>();//鐢ㄦ潵鎺у埗杩涜鎺掑簭
-        TreasureModel m_Model;
-        TreasureModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TreasureModel>()); } }
-        TaskModel m_TaskModel;
-        TaskModel taskmodel { get { return m_TaskModel ?? (m_TaskModel = ModelCenter.Instance.GetModel<TaskModel>()); } }
-        PackModel _playerPack;
-        PackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PackModel>()); } }
-        PlayerMainDate m_MainModel;
-        PlayerMainDate mainModel { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel<PlayerMainDate>()); } }
+        TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
+        TaskModel taskmodel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } }
+
         List<int> ListSort = new List<int>();//鐢ㄤ簬鎺掑垪椤哄簭(鏈崱绾�)
         List<int> ListSort1 = new List<int>();//鐢ㄤ簬鎺掑簭锛堝崱绾э級
-        private void Start()
-        {
-
-
-        }
-
-        void DisplayTreasure(int _treasureIdHuman)
-        {
-            if (FuncOpen.Instance.IsFuncOpen(106) && model.newGotTreasureId != TreasureModel.TREASURE_GUIDE_ID)
-            {
-                m_HumanTreasure.gameObject.SetActive(true);
-                m_HumanTreasure.Display();
-            }
-            else
-            {
-                m_HumanTreasure.gameObject.SetActive(false);
-                m_HumanTreasure.Dispose();
-            }
-        }
-
-        void UpdateControllerPosition()//鏇存柊鎺т欢浣嶇疆
-        {
-            if (m_HumanTreasure.gameObject.activeSelf)
-            {
-                (Parent as RectTransform).sizeDelta = (Parent as RectTransform).sizeDelta.SetY(ParentPosition);
-                (TaskScrollView as RectTransform).sizeDelta = (TaskScrollView as RectTransform).sizeDelta.SetY(TaskScrollViewTaskScrollView - ParentPosition);
-            }
-            else
-            {
-                (Parent as RectTransform).sizeDelta = (Parent as RectTransform).sizeDelta.SetY(0);
-                (TaskScrollView as RectTransform).sizeDelta = (TaskScrollView as RectTransform).sizeDelta.SetY(TaskScrollViewTaskScrollView);
-            }
-        }
 
         public void Init()//鍒濆鍖�
         {
-
             var TaskSortType = FuncConfigConfig.Get("TaskSortType");
             var RenzhuTaskID = FuncConfigConfig.Get("RenzhuTaskID");
             if (ListSort.Count <= 0)
@@ -94,11 +55,11 @@
                     ListSort1.Add(TaskSortType2[i]);
                 }
             }
+
             TaskModel.Event_TaskToAdd += TaskToAdd;//浠诲姟鐨勬坊鍔�
             TaskModel.Event_TaskRefreshes += TaskRefreshes;//浠诲姟鐨勫埛鏂�
             TaskModel.Event_TaskToDelete += OnTaskToDelete;//浠诲姟鐨勫垹闄�
             TaskModel.Event_TaskInformation += TaskInformation;//浠诲姟瀛楀吀淇℃伅
-            TaskModel.MainCardLevelChange += MainCardLevelChange;//鍗$骇浠诲姟淇敼
             TaskModel.CardLevelChange += CardLevelChangeEvent;//鍗$骇浠诲姟鐘舵�佹敼鍙�
             model.collectingTreasureChangeEvent += OnCollectingTreasureChangeEvent;
             FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
@@ -115,7 +76,25 @@
         private void CloseTreasureNewGotWinEvent()
         {
             DisplayTreasure(model.collectingHuman);
-            UpdateControllerPosition();
+        }
+
+        private void OnCollectingTreasureChangeEvent(TreasureCategory _category)
+        {
+            DisplayTreasure(model.collectingHuman);
+        }
+
+        void DisplayTreasure(int _treasureIdHuman)
+        {
+            if (model.newGotTreasureId != TreasureModel.TREASURE_GUIDE_ID)
+            {
+                m_HumanTreasure.gameObject.SetActive(true);
+                m_HumanTreasure.Display();
+            }
+            else
+            {
+                m_HumanTreasure.gameObject.SetActive(false);
+                m_HumanTreasure.Dispose();
+            }
         }
 
         private void OnFuncStateChangeEvent(int obj)
@@ -132,11 +111,10 @@
             TaskModel.Event_TaskToDelete -= OnTaskToDelete;//浠诲姟鐨勫垹闄�
             TaskModel.Event_TaskInformation -= TaskInformation;//浠诲姟瀛楀吀淇℃伅
             FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
-            TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
-            TaskModel.MainCardLevelChange -= MainCardLevelChange;//鍗$骇浠诲姟淇敼
             TaskModel.CardLevelChange -= CardLevelChangeEvent;//鍗$骇浠诲姟鐘舵�佹敼鍙�
+            TreasureNewGotWin.CloseTreasureNewGotWinEvent -= CloseTreasureNewGotWinEvent;
             PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting;//鏁版嵁鐨勫埛鏂�(h0418)
-            StopAllCoroutines(); 
+            StopAllCoroutines();
         }
 
         private void Updatefighting(PlayerDataType obj)//绛夌骇鍒锋柊
@@ -151,8 +129,8 @@
                         int leng = Content.childCount;
                         for (int i = 0; i < leng; i++)
                         {
-                            GameObject childObj = Content.GetChild(i).gameObject;
-                            TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
+                            var childObj = Content.GetChild(i).gameObject;
+                            var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                             if (childObj.activeSelf && childObjTaskType.TaskID == key)
                             {
                                 childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(key);
@@ -162,6 +140,7 @@
                 }
             }
         }
+
         private void CardLevelChangeEvent(int taskID)//鍗$骇鐘舵�佹敼鍙�
         {
             if (taskmodel.allMissionDict.ContainsKey(taskID) && taskmodel.allMissionDict[taskID].Type == 3)
@@ -170,12 +149,6 @@
                 ChangeSort();
                 TaskJump(taskID);
             }
-        }
-        private void MainCardLevelChange(int _id)//涓荤嚎浠诲姟鍗$骇鐘舵�佹敼鍙�
-        {
-            //TaskScheduling();
-            //ChangeSort();
-            //TaskJump(_id);
         }
 
         private void SetLength()
@@ -195,8 +168,8 @@
             int leng = Content.childCount;
             for (int i = 0; i < leng; i++)
             {
-                GameObject childObj = Content.GetChild(i).gameObject;
-                TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
+                var childObj = Content.GetChild(i).gameObject;
+                var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                 childObjTaskType.ClearTaskName();
                 if (childObj.activeSelf)
                 {
@@ -219,16 +192,15 @@
                 childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(_list[i]);
             }
         }
+
         void TaskToAdd(int MissionID, int MissionState, int DiscriptionIndex)//娣诲姞浠诲姟
         {
             if (MissionID == 2000 || MissionID == 3000 || MissionState == 3 || MissionState == 0)
             {
                 return;
             }
-            if (Parent.gameObject.activeInHierarchy)
-            {
-                StartCoroutine(WaitAddTask(MissionID, MissionState));
-            }       
+
+            StartCoroutine(WaitAddTask(MissionID, MissionState));
         }
 
         IEnumerator WaitAddTask(int MissionID, int MissionState)
@@ -244,19 +216,20 @@
                     TaskAddAndDelete(MissionID);
                     if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing)
                     {
-                        yield break ;
+                        yield break;
                     }
                     TaskJump(MissionID);
                     yield break;
                 }
             }
         }
+
         private void TaskAddAndDelete(int TaskID)
         {
             for (int i = 0; i < Content.childCount; i++)
             {
-                GameObject childObj = Content.GetChild(i).gameObject;
-                TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
+                var childObj = Content.GetChild(i).gameObject;
+                var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                 if (i < _list.Count)
                 {
                     if (!childObj.activeSelf)
@@ -306,8 +279,8 @@
             {
                 if (i <= Content.childCount - 1)
                 {
-                    GameObject childObj = Content.GetChild(i).gameObject;
-                    TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
+                    var childObj = Content.GetChild(i).gameObject;
+                    var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                     if (childObj.activeSelf && childObjTaskType.TaskID == MissionID)
                     {
                         if (childObjTaskType.m_TypeBool)
@@ -345,8 +318,8 @@
         {
             for (int i = 0; i < Content.childCount; i++)
             {
-                GameObject obj = Content.GetChild(i).gameObject;
-                TaskType taskType = obj.GetComponent<TaskType>();
+                var obj = Content.GetChild(i).gameObject;
+                var taskType = obj.GetComponent<TaskType>();
                 if (obj.activeSelf && taskType.TaskID == taskID)
                 {
                     taskType.TaskID = 0;
@@ -357,16 +330,15 @@
                 }
             }
         }
+
         private void ChangeSort()//鍏充簬浠诲姟鍙樻洿鎺掑簭
         {
-
             for (int i = 0; i < _list.Count; i++)
             {
-
                 for (int j = 0; j < Content.childCount; j++)
                 {
-                    GameObject obj = Content.GetChild(j).gameObject;
-                    TaskType taskType = obj.GetComponent<TaskType>();
+                    var obj = Content.GetChild(j).gameObject;
+                    var taskType = obj.GetComponent<TaskType>();
                     if (taskType.TaskID != 0 && taskType.TaskID == _list[i])
                     {
                         int Inedx = _list.IndexOf(taskType.TaskID);
@@ -382,8 +354,8 @@
             int leng = Content.childCount;
             for (int i = 0; i < leng; i++)
             {
-                GameObject childObj = Content.GetChild(i).gameObject;
-                TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
+                var childObj = Content.GetChild(i).gameObject;
+                var childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
                 if (childObj.activeSelf && childObjTaskType.TaskID == _Taskid)
                 {
                     childObj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(_Taskid);
@@ -422,18 +394,19 @@
                 _list.Sort(Compare1);//鍗$骇鎺掑簭   
             }
         }
+
         int Compare(int x, int y)//榛樿鎺掑簭(鏃犲崱绾�)
         {
-            MissionDetailDates xPack = taskmodel.allMissionDict[x];
-            MissionDetailDates yPack = taskmodel.allMissionDict[y];
-            bool IsMainTaskx = xPack.Type == 0;
-            bool IsMainTasky = yPack.Type == 0;
+            var xPack = taskmodel.allMissionDict[x];
+            var yPack = taskmodel.allMissionDict[y];
+            var IsMainTaskx = xPack.Type == 0;
+            var IsMainTasky = yPack.Type == 0;
             if (IsMainTaskx.CompareTo(IsMainTasky) != 0)//浼樺厛涓荤嚎
             {
                 return -IsMainTaskx.CompareTo(IsMainTasky);
             }
-            bool IsStateTaskx = xPack.MissionState == 2;
-            bool IsStateTasky = yPack.MissionState == 2;
+            var IsStateTaskx = xPack.MissionState == 2;
+            var IsStateTasky = yPack.MissionState == 2;
             if (IsStateTaskx.CompareTo(IsStateTasky) != 0)//浼樺厛鍙鍙�
             {
                 return -IsStateTaskx.CompareTo(IsStateTasky);
@@ -454,16 +427,16 @@
 
         int Compare1(int x, int y)//鎺掑簭鏈夊崱绾�
         {
-            MissionDetailDates xPack = taskmodel.allMissionDict[x];
-            MissionDetailDates yPack = taskmodel.allMissionDict[y];
-            bool IsMainTaskx = xPack.Type == 0;
-            bool IsMainTasky = yPack.Type == 0;
+            var xPack = taskmodel.allMissionDict[x];
+            var yPack = taskmodel.allMissionDict[y];
+            var IsMainTaskx = xPack.Type == 0;
+            var IsMainTasky = yPack.Type == 0;
             if (IsMainTaskx.CompareTo(IsMainTasky) != 0)//浼樺厛涓荤嚎
             {
                 return -IsMainTaskx.CompareTo(IsMainTasky);
             }
-            bool IsStateTaskx = xPack.MissionState == 2;
-            bool IsStateTasky = yPack.MissionState == 2;
+            var IsStateTaskx = xPack.MissionState == 2;
+            var IsStateTasky = yPack.MissionState == 2;
             if (IsStateTaskx.CompareTo(IsStateTasky) != 0)//浼樺厛鍙鍙�
             {
                 return -IsStateTaskx.CompareTo(IsStateTasky);
@@ -480,12 +453,6 @@
             }
 
             return 1;
-        }
-
-        private void OnCollectingTreasureChangeEvent(TreasureCategory _category)
-        {
-            DisplayTreasure(model.collectingHuman);
-            UpdateControllerPosition();
         }
 
         private bool IsDungeon()//鍒ゆ柇鏄惁鍦ㄥ壇鏈腑
@@ -550,7 +517,7 @@
             {
                 bool _IsBool = false;
                 var taskList = TaskListConfig.Get(taskmodel.GetNowTaskID);
-                if (taskList!=null)
+                if (taskList != null)
                 {
                     _IsBool = true;
                 }
@@ -561,7 +528,7 @@
                         if (_IsBool)//涓荤嚎鍗$骇
                         {
                             var task_List = TaskListConfig.Get(_list[i]);
-                            if (task_List==null)
+                            if (task_List == null)
                             {
                                 taskmodel.GetNowTaskID = _list[i];
                                 return;
@@ -571,11 +538,12 @@
                         {
                             taskmodel.GetNowTaskID = _list[i];
                             return;
-                        }                  
-                    }               
+                        }
+                    }
                 }
             }
         }
+
     }
 }
 
diff --git a/System/MainWin/RealmEntranceBehaviour.cs b/System/MainWin/RealmEntranceBehaviour.cs
new file mode 100644
index 0000000..f4dfbd0
--- /dev/null
+++ b/System/MainWin/RealmEntranceBehaviour.cs
@@ -0,0 +1,79 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Wednesday, March 27, 2019
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+    public class RealmEntranceBehaviour : MonoBehaviour
+    {
+        [SerializeField] Button m_OpenRealm;
+        [SerializeField] Image m_Realm;
+
+        Window m_Parent;
+        Window parent { get { return m_Parent ?? (m_Parent = this.GetComponentInParent<Window>()); } }
+
+        private void Awake()
+        {
+            WindowCenter.Instance.windowBeforeOpenEvent += OnWindowPreOpen;
+            PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
+        }
+
+        private void OnDestroy()
+        {
+            WindowCenter.Instance.windowBeforeOpenEvent -= OnWindowPreOpen;
+            PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
+        }
+
+        private void Start()
+        {
+            DisplayRealm();
+            m_OpenRealm.SetListener(OpenRealmWin);
+        }
+
+        private void OnWindowPreOpen(Window _window)
+        {
+            if (_window != parent)
+            {
+                return;
+            }
+
+            DisplayRealm();
+        }
+
+        private void OnPlayerDataRefresh(PlayerDataType type)
+        {
+            switch (type)
+            {
+                case PlayerDataType.RealmLevel:
+                    DisplayRealm();
+                    break;
+            }
+        }
+
+        private void DisplayRealm()
+        {
+            var realm = PlayerDatas.Instance.baseData.realmLevel;
+            var config = RealmConfig.Get(realm);
+            if (config != null)
+            {
+                m_Realm.SetSprite(config.Img);
+            }
+        }
+
+        private void OpenRealmWin()
+        {
+            WindowCenter.Instance.Close<MainInterfaceWin>();
+            WindowCenter.Instance.Open<RealmWin>();
+        }
+
+    }
+
+}
+
+
+
diff --git a/System/MainWin/RealmEntranceBehaviour.cs.meta b/System/MainWin/RealmEntranceBehaviour.cs.meta
new file mode 100644
index 0000000..16820a9
--- /dev/null
+++ b/System/MainWin/RealmEntranceBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: ef4df0e3e5bfce047b52a2bdf85c13f7
+timeCreated: 1553670444
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Treasure/HumanThreeDimensionsBehaviour.cs b/System/Treasure/HumanThreeDimensionsBehaviour.cs
new file mode 100644
index 0000000..7de633c
--- /dev/null
+++ b/System/Treasure/HumanThreeDimensionsBehaviour.cs
@@ -0,0 +1,75 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+    public class HumanThreeDimensionsBehaviour : MonoBehaviour
+    {
+        [SerializeField] Canvas m_TreasureCanva;
+        [SerializeField] Text m_Chapter;
+        [SerializeField] Text m_ChapterName;
+        [SerializeField] Transform m_ContainerLock;
+        [SerializeField] Transform m_ContainerCollecting;
+        [SerializeField] Text m_TreasureName;
+        [SerializeField] Transform m_ContainerCollected;
+
+        static readonly char[] split_identify = new char[1] { ' ' };
+
+        int treasureId = 0;
+
+        TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
+
+        public void Display(int treasureId)
+        {
+            this.treasureId = treasureId;
+            DisplayBase();
+            DisplayState();
+        }
+
+        void DisplayBase()
+        {
+            List<int> tasks = null;
+            if (model.TryGetTreasureTasks(treasureId, out tasks))
+            {
+                var config = TreasureConfig.Get(treasureId);
+                var taskConfig = TaskListConfig.Get(tasks[0]);
+                var chapterArray = taskConfig.ChapterName.Split(split_identify, System.StringSplitOptions.RemoveEmptyEntries);
+                var chapterName = chapterArray.Length > 1 ? chapterArray[1] : chapterArray[0];
+                m_Chapter.text = chapterArray[0];
+                m_ChapterName.text = chapterName;
+                m_TreasureName.text = string.Format("鑾峰緱{0}", config.Name);
+            }
+        }
+
+        void DisplayState()
+        {
+            Treasure treasure;
+            if (model.TryGetTreasure(treasureId, out treasure))
+            {
+                m_ContainerCollecting.gameObject.SetActive(treasure.state == TreasureState.Collecting);
+                m_ContainerCollected.gameObject.SetActive(treasure.state == TreasureState.Collected);
+                m_ContainerLock.gameObject.SetActive(treasure.state == TreasureState.Locked);
+            }
+        }
+
+        public void SetCamera(Camera camera)
+        {
+            m_TreasureCanva.worldCamera = camera;
+        }
+
+        private void LateUpdate()
+        {
+            if (!gameObject.layer.Equals(LayerUtility.DevisableUI))
+            {
+                LayerUtility.SetLayer(gameObject, LayerUtility.DevisableUI, true);
+            }
+        }
+
+        public void Dispose()
+        {
+        }
+    }
+}
+
diff --git a/System/Treasure/HumanThreeDimensionsBehaviour.cs.meta b/System/Treasure/HumanThreeDimensionsBehaviour.cs.meta
new file mode 100644
index 0000000..e3c8cc5
--- /dev/null
+++ b/System/Treasure/HumanThreeDimensionsBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 02d3f645a4abf1844a876c2f4dfe7792
+timeCreated: 1553678663
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Treasure/TreasureComponent.cs b/System/Treasure/TreasureComponent.cs
index 3b6acd2..06bd37f 100644
--- a/System/Treasure/TreasureComponent.cs
+++ b/System/Treasure/TreasureComponent.cs
@@ -1,7 +1,6 @@
 锘縰sing System;
 using System.Collections;
 using System.Collections.Generic;
-
 using UnityEngine;
 namespace Snxxz.UI
 {
@@ -34,6 +33,7 @@
         TextMesh condition;
         DemonDungeonLabel treasureLabel;
         TreasureThreeDimensionsBehaviour m_ThreeDimensionsBehaviour;
+        HumanThreeDimensionsBehaviour m_HumanThreeDimensions;
 
         SFXController treasureEffect;
         SFXController backLightEffect;
@@ -43,11 +43,16 @@
 
         public Treasure3DConfig paramConfig { get; set; }
 
-        static Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool> m_BottomPoolDict = new Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool>();
-        static Dictionary<TreasureState, GameObjectPoolManager.GameObjectPool> m_StatePoolDict = new Dictionary<TreasureState, GameObjectPoolManager.GameObjectPool>();
-        static Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool> m_ConditionPoolDict = new Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool>();
-        static Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool> m_LabelPoolDict = new Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool>();
-        static GameObjectPoolManager.GameObjectPool m_TreasureCanvaPool;
+        static Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool> m_BottomPoolDict
+            = new Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool>();
+        static Dictionary<TreasureState, GameObjectPoolManager.GameObjectPool> m_StatePoolDict
+            = new Dictionary<TreasureState, GameObjectPoolManager.GameObjectPool>();
+        static Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool> m_ConditionPoolDict
+            = new Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool>();
+        static Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool> m_LabelPoolDict
+            = new Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool>();
+        static Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool> m_TreasureCanvaPool
+            = new Dictionary<TreasureCategory, GameObjectPoolManager.GameObjectPool>();
         static Vector3 m_CacheBottomScale = Vector3.zero;
 
         TreasureModel m_Model;
@@ -95,7 +100,7 @@
         public void RequestName()
         {
             RecycleName();
-            if (category == TreasureCategory.King)
+            if (category == TreasureCategory.King || category == TreasureCategory.Human)
             {
                 return;
             }
@@ -654,43 +659,58 @@
         public void RequestTreasureCanva()
         {
             RecycleTreasureCanva();
-            if (category != TreasureCategory.King)
+            if (category != TreasureCategory.King
+                && category != TreasureCategory.Human)
             {
                 return;
             }
-            if (m_TreasureCanvaPool == null)
+            if (!m_TreasureCanvaPool.ContainsKey(category))
             {
-                var prefab = UILoader.LoadTreasure("Misc", "TreasureCanva");
+                var prefab = UILoader.LoadTreasure("Misc", "TreasureCanva_" + category.ToString());
                 if (prefab)
                 {
-                    m_TreasureCanvaPool = GameObjectPoolManager.Instance.RequestPool(prefab);
+                    m_TreasureCanvaPool.Add(category, GameObjectPoolManager.Instance.RequestPool(prefab));
                 }
             }
-            if (m_TreasureCanvaPool != null)
+            if (m_TreasureCanvaPool.ContainsKey(category))
             {
-                var go = m_TreasureCanvaPool.Request();
+                var pool = m_TreasureCanvaPool[category];
+                var go = pool.Request();
                 go.SetActive(true);
                 go.transform.SetParent(root);
                 go.transform.localPosition = Vector3.zero;
                 go.transform.localEulerAngles = new Vector3(0, -180, 0);
                 go.transform.localScale = Vector3.one * 0.01f;
                 LayerUtility.SetLayer(go, LayerUtility.DevisableUI, true);
-                m_ThreeDimensionsBehaviour = go.GetComponent<TreasureThreeDimensionsBehaviour>();
-                m_ThreeDimensionsBehaviour.SetCamera(UI3DTreasureSelectStage.Instance.treasureUICamera);
-                m_ThreeDimensionsBehaviour.Display(treasureId);
+
+                switch (category)
+                {
+                    case TreasureCategory.Human:
+                        m_HumanThreeDimensions = go.GetComponent<HumanThreeDimensionsBehaviour>();
+                        m_HumanThreeDimensions.SetCamera(UI3DTreasureSelectStage.Instance.treasureUICamera);
+                        m_HumanThreeDimensions.Display(treasureId); break;
+                    case TreasureCategory.King:
+                        m_ThreeDimensionsBehaviour = go.GetComponent<TreasureThreeDimensionsBehaviour>();
+                        m_ThreeDimensionsBehaviour.SetCamera(UI3DTreasureSelectStage.Instance.treasureUICamera);
+                        m_ThreeDimensionsBehaviour.Display(treasureId);
+                        break;
+                }
             }
         }
 
         public void RecycleTreasureCanva()
         {
-            if (m_TreasureCanvaPool != null)
+            if (m_ThreeDimensionsBehaviour != null)
             {
-                if (m_ThreeDimensionsBehaviour != null)
-                {
-                    m_ThreeDimensionsBehaviour.gameObject.SetActive(false);
-                    m_TreasureCanvaPool.Release(m_ThreeDimensionsBehaviour.gameObject);
-                    m_ThreeDimensionsBehaviour = null;
-                }
+                m_ThreeDimensionsBehaviour.gameObject.SetActive(false);
+                m_TreasureCanvaPool[TreasureCategory.King].Release(m_ThreeDimensionsBehaviour.gameObject);
+                m_ThreeDimensionsBehaviour = null;
+            }
+            if (m_HumanThreeDimensions != null)
+            {
+                m_HumanThreeDimensions.gameObject.SetActive(false);
+                m_TreasureCanvaPool[TreasureCategory.Human].Release(m_HumanThreeDimensions.gameObject);
+                m_HumanThreeDimensions = null;
             }
         }
 
diff --git a/System/Treasure/TreasureExhibitionBehaviour.cs b/System/Treasure/TreasureExhibitionBehaviour.cs
index 72be6be..9647be0 100644
--- a/System/Treasure/TreasureExhibitionBehaviour.cs
+++ b/System/Treasure/TreasureExhibitionBehaviour.cs
@@ -109,7 +109,6 @@
                 ShowCollectingTreasure();
                 if (treasureId == TreasureModel.TREASURE_GUIDE_ID)
                 {
-
                     NewBieCenter.Instance.StartNewBieGuide(12);
                 }
                 else if (model.guideTreasures.Contains(treasureId))
diff --git a/Utility/OperationLogCollect.cs b/Utility/OperationLogCollect.cs
index 4fa8050..d8de6f7 100644
--- a/Utility/OperationLogCollect.cs
+++ b/Utility/OperationLogCollect.cs
@@ -20,7 +20,7 @@
             tables["OperatorID"] = VersionConfig.Get().appId;
             tables["RegionName"] = "data";
             tables["EventID"] = 9001.ToString();
-            tables["ProductID"] = "snxxz";
+            tables["ProductID"] = "xbqy";
             tables["Device"] = SystemInfo.deviceName;
             tables["IP"] = DeviceUtility.GetIp();
             tables["DeviceFlag"] = DeviceUtility.GetDeviceUniquenessIdentify();
@@ -43,7 +43,7 @@
             tables["RegionName"] = "data";
             tables["AccountID"] = SDKUtility.Instance.FreePlatformInfo == null ? "" : SDKUtility.Instance.FreePlatformInfo.account;
             tables["EventID"] = 9001.ToString();
-            tables["ProductID"] = "snxxz";
+            tables["ProductID"] = "xbqy";
             tables["Device"] = SystemInfo.deviceName;
             tables["IP"] = DeviceUtility.GetIp();
             tables["DeviceFlag"] = string.IsNullOrEmpty(SDKUtility.Instance.Device.uniqueID) ? "other" : SDKUtility.Instance.Device.uniqueID;
@@ -77,7 +77,7 @@
             tables["OperatorID"] = VersionConfig.Get().appId;
             tables["RegionName"] = StringUtility.Contact("s" + ServerListCenter.Instance.currentServer.region_flag);
             tables["EventID"] = 1102.ToString();
-            tables["ProductID"] = "snxxz";
+            tables["ProductID"] = "xbqy";
             tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
             tables["IP"] = DeviceUtility.GetIp();
             tables["AccountID"] = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult.account;
@@ -114,7 +114,7 @@
         tables["RegionName"] = "data";
         tables["RegionID"] = ServerListCenter.Instance.currentServer.region_flag.ToString();
         tables["EventID"] = 9002.ToString();
-        tables["ProductID"] = "snxxz";
+        tables["ProductID"] = "xbqy";
         tables["Time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
         tables["IP"] = DeviceUtility.GetIp();
         tables["AccountID"] = ModelCenter.Instance.GetModel<LoginModel>().sdkLoginResult.account;
@@ -141,7 +141,7 @@
 #if !UNITY_EDITOR
         bool isFairy = chatType == ChatInfoType.Fairy;
         var tables = new Dictionary<string, string>();
-        tables["ProductID"] = "snxxz";
+        tables["ProductID"] = "xbqy";
         tables["OperatorID"] = VersionConfig.Get().appId;
         tables["OperatorName"] = string.Empty;
         tables["RegionName"] = StringUtility.Contact("s", ServerListCenter.Instance.currentServer.region_flag);

--
Gitblit v1.8.0