From eed44c4e855611e2ca9bcb94c040b4eaa6266939 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 04 九月 2018 17:32:46 +0800
Subject: [PATCH] 3240 前端 主界面任务显示和自动选中逻辑修改

---
 System/MainInterfacePanel/MainInterfaceWin.cs |   77 ++++++++++++++++++++++++++++++--------
 1 files changed, 61 insertions(+), 16 deletions(-)

diff --git a/System/MainInterfacePanel/MainInterfaceWin.cs b/System/MainInterfacePanel/MainInterfaceWin.cs
index 75bb072..58a0678 100644
--- a/System/MainInterfacePanel/MainInterfaceWin.cs
+++ b/System/MainInterfacePanel/MainInterfaceWin.cs
@@ -97,6 +97,8 @@
         [SerializeField] ClickScreenOtherSpace _MarkRay;//渚挎嵎鍒囨崲鎸夐挳
 
         [SerializeField] TeamInvitationEntrance m_TeamInvitationEntrance;
+
+        [SerializeField] FairyCallMemberBehaviour m_FairyCallBehaviour;
         #region
         private int mapId = 0;
         public delegate void OnChatCallback();//鑱婂ぉ鍥炶皟
@@ -133,6 +135,7 @@
         TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
         DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+        FairyGrabBossModel fairyGrabBossModel { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
 
         #region Built-in
         protected override void BindController()
@@ -192,6 +195,7 @@
             m_SkillButtonEffects.Init();
             m_AnimationFadeOut.Init();
             m_TeamInvitationEntrance.Init();
+            m_FairyCallBehaviour.Init();
             m_BossBriefInfos.gameObject.SetActive(false);
 
             ArticleExperience();//鍏充簬缁忛獙鏉�
@@ -217,7 +221,7 @@
             PlayerTaskDatas.CompletionOfTaskEvent += CompletionOfTaskEvent;
             RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
             NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent;
-
+            fairyGrabBossModel.bossGrabHintEvent += bossGrabHintEvent;
         }
 
         private void CompletionOfTaskEvent(int obj)
@@ -229,6 +233,7 @@
         protected override void OnActived()
         {
             m_HighSettingTip.OnActived();
+            IsShowTaskPanel();//鏄惁鏄剧ず浠诲姟闈㈡澘
         }
 
         IEnumerator Co_Load()
@@ -238,7 +243,7 @@
         }
 
         protected override void OnAfterOpen()
-        {       
+        {
             bool IsBossBool = PlayerDatas.Instance.hero != null && MapArea.IsInMapArea(PlayerDatas.Instance.hero.CurMapArea, MapArea.E_Type.Boss);//鏄惁鍦˙oss鍖哄煙
             if (onMainModel.IsDead || (onMainModel.IsBossAreaTask && !IsBossBool))
             {
@@ -257,13 +262,11 @@
             var inDungeon = IsDungeon();
             if (inDungeon)
             {
-                m_TaskAndTeamTip.SetActive(!inDungeon);
                 m_FunctionForecastTip.gameObject.SetActive(false);
                 if (WindowCenter.Instance.CheckOpen<FunctionForecastWin>())
                 {
                     WindowCenter.Instance.Close<FunctionForecastWin>();
                 }
-                m_TaskSwithButton.gameObject.SetActive(false);
                 if (mapId != PlayerDatas.Instance.baseData.MapID)
                 {
                     CopyOfThePanel.localPosition = CopyOfThePosition2.localPosition;
@@ -286,13 +289,22 @@
                 }
             }
             else
-            {             
+            {
                 var isNeutralMap = GeneralConfig.Instance.neutralMaps.Contains(PlayerDatas.Instance.baseData.MapID);
 
                 if (isNeutralMap)
                 {
                     m_BossBriefInfos.gameObject.SetActive(true);
-                    m_BossBriefInfos.Display(ModelCenter.Instance.GetModel<WorldBossModel>().GetWorldBosses(PlayerDatas.Instance.baseData.MapID));
+                    if (PlayerDatas.Instance.baseData.MapID==DogzDungeonModel.DATA_MAPID)
+                    {
+                        var bosses = ModelCenter.Instance.GetModel<DogzDungeonModel>().GetBosses();
+                        m_BossBriefInfos.Display(bosses);
+                    }
+                    else
+                    {
+                        var bosses = ModelCenter.Instance.GetModel<WorldBossModel>().GetWorldBosses(PlayerDatas.Instance.baseData.MapID);
+                        m_BossBriefInfos.Display(bosses);
+                    }
                 }
                 else
                 {
@@ -324,15 +336,13 @@
                 {
                     Event_Duplicates(true, CopyOfThePanelSpeed);
                 }
-
-                m_TaskAndTeamTip.SetActive(true);
                 m_FunctionForecastTip.gameObject.SetActive(true);
-                m_TaskSwithButton.gameObject.SetActive(true);
             }
             mapId = PlayerDatas.Instance.baseData.MapID;
             m_HighSettingTip.AfterOpen();
             m_ChatTip.OnAfterOpen();
             HandleAchievement();
+          
         }
 
         protected override void OnPreClose()
@@ -350,6 +360,7 @@
             m_FunctionForecastTip.Unit();
             m_AnimationFadeOut.Unit();
             m_TeamInvitationEntrance.UnInit();
+            m_FairyCallBehaviour.UnInit();
             horseRidBool = false;
             PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;
             FunctionUnlockFlyObject.functionUnLockShowBeginEvent -= UnFlodFunctionArea;
@@ -372,6 +383,7 @@
             m_CollectBtn.RemoveAllListeners();
             GA_NpcCollect.OnArrive -= OnArriveCollectNPC;
             GA_NpcCollect.OnLeave -= OnLeaveCollectNpc;
+            fairyGrabBossModel.bossGrabHintEvent -= bossGrabHintEvent;
             m_CollectBtn.gameObject.SetActive(false);
         }
 
@@ -448,7 +460,7 @@
 
         private void OnEnterOrExitArea(MapArea.E_Type _areaType, bool _enter)
         {
-           // DesignDebug.LogError(_areaType + ".." + _enter);
+            // DesignDebug.LogError(_areaType + ".." + _enter);
             if (PlayerDatas.Instance.baseData.MapID == 10040 && _areaType != MapArea.E_Type.Boss && _enter)
             {
                 if (Buffmodel.PkType != onMainModel.AreaState)
@@ -457,12 +469,16 @@
                 }
             }
 
-            if (_areaType == MapArea.E_Type.Neutral && _enter)
+            if ((_areaType == MapArea.E_Type.Neutral || _areaType == MapArea.E_Type.Boss) && _enter)
             {
                 WindowCenter.Instance.Open<NeutralMarkWin>();
                 int mapID = PlayerDatas.Instance.baseData.MapID;
                 var config = Config.Instance.Get<MapConfig>(mapID);
                 int[] atkInt = pKModel.GetArea(config.AtkType).ToArray();
+                if (onMainModel.ShieldedArea.Contains(PlayerDatas.Instance.baseData.MapID) || fairyGrabBossModel.grabBossHintOpen)
+                {
+                    return;
+                }
                 if (atkInt.Length > 1 && Buffmodel.PkType != 5)
                 {
                     onMainModel.AreaState = Buffmodel.PkType;
@@ -479,7 +495,7 @@
                 }
             }
 
-            if ((_areaType == MapArea.E_Type.Boss && _enter) || (_areaType == MapArea.E_Type.Dazuo && _enter))
+            if (_areaType == MapArea.E_Type.Boss && _enter)
             {
                 if (Vector3.Distance(m_TaskAndTeamPanel.localPosition, TaskListTipAnchor1.localPosition) < 2 && ListBossMapId.Contains(PlayerDatas.Instance.baseData.MapID))
                 {
@@ -507,7 +523,7 @@
             var inDungeon = IsDungeon();
             var isNeutralMap = GeneralConfig.Instance.neutralMaps.Contains(PlayerDatas.Instance.baseData.MapID);
 
-            if ((_areaType == MapArea.E_Type.Boss && !_enter) || (_areaType == MapArea.E_Type.Dazuo && !_enter))
+            if (_areaType == MapArea.E_Type.Boss && !_enter)
             {
                 if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon && !isNeutralMap)
                 {
@@ -653,7 +669,7 @@
             if (!recordPositionBool)
             {
                 if (inDungeon || IsBossBool || isNeutralMap)
-                {                   
+                {
                     if (IsCopyOfThePanel != null)
                     {
                         IsCopyOfThePanel(false);
@@ -664,12 +680,12 @@
                     }
                     CopyOfThePanel.DOLocalMoveY(CopyOfThePosition2.localPosition.y, CopyOfThePanelSpeed);
                     m_ContainerBossList.DOLocalMoveY(CopyOfThePosition1.localPosition.y, CopyOfThePanelSpeed);
-                    m_BossBriefInfos.Unfold(false);                  
+                    m_BossBriefInfos.Unfold(false);
                 }
                 if (!IsBossBool)
                 {
                     if (Vector3.Distance(CopyOfThePanel.position, CopyOfThePosition1.position) > 2 && !inDungeon)
-                    {                    
+                    {
                         if (IsCopyOfThePanel != null)
                         {
                             IsCopyOfThePanel(true);
@@ -812,6 +828,17 @@
                 _MarkRay.gameObject.SetActive(false);
             }
             recordPositionBool = !recordPositionBool;
+        }
+
+        // 鍓嶆湡鎴樻枟鐢ㄥ己鍒惰缃换鍔′綅缃�昏緫
+        public void ForceShowTaskPanel()
+        {
+            if (onMainModel.IsBossAreaTask)
+            {
+                onMainModel.IsBossAreaTask = false;
+            }
+            m_TaskAndTeamPanel.localPosition = TaskListTipAnchor1.localPosition;
+            TaskSwithBool = !TaskSwithBool;
         }
 
         void ArticleExperience()//鍏充簬缁忛獙鏉�
@@ -1021,6 +1048,24 @@
             _MarkRay.gameObject.SetActive(false);
         }
 
+        private void IsShowTaskPanel()//鏄惁鏄剧ず浠诲姟闈㈡澘
+        {
+            var inDungeon = IsDungeon();
+            if (inDungeon || fairyGrabBossModel.grabBossHintOpen)
+            {
+                m_TaskAndTeamTip.SetActive(false);
+                m_TaskSwithButton.gameObject.SetActive(false);
+            }
+            else
+            {
+                m_TaskAndTeamTip.SetActive(true);
+                m_TaskSwithButton.gameObject.SetActive(true);
+            }
+        }
+        private void bossGrabHintEvent()
+        {
+            IsShowTaskPanel();
+        }
     }
 
 }

--
Gitblit v1.8.0