From ee01792dd5c0485e661eb9656e4d1d078b7b8e9c Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 13 八月 2018 16:06:44 +0800
Subject: [PATCH] 2468 【前端】日常界面符印塔扫荡次数显示优化

---
 System/RuneTower/RuneTowerWin.cs         |   13 ++++++++++++-
 System/DailyQuest/DailyQuestBehaviour.cs |   14 +++++++++++---
 System/DailyQuest/DailyQuestWin.cs       |    1 +
 System/DailyQuest/DailyQuestModel.cs     |   18 ++++++++++++++++--
 4 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/System/DailyQuest/DailyQuestBehaviour.cs b/System/DailyQuest/DailyQuestBehaviour.cs
index d969fa1..230eeea 100644
--- a/System/DailyQuest/DailyQuestBehaviour.cs
+++ b/System/DailyQuest/DailyQuestBehaviour.cs
@@ -125,9 +125,17 @@
             {
                 if (state == DailyQuestModel.DailyQuestState.CanBuyTimes)
                 {
-                    var config = ConfigManager.Instance.GetTemplate<DailyQuestConfig>(data.id);
-                    dungeonModel.currentDungeon = new Dungeon(config.RelatedID, 0);
-                    WindowCenter.Instance.Open<DungeonBuyTimesWin>();
+                    switch ((DailyQuestType)data.id)
+                    {
+                        case DailyQuestType.RuneTowerSweep:
+                            dailyQuestWin.GotoDailyQuest(data.id);
+                            break;
+                        default:
+                            var config = ConfigManager.Instance.GetTemplate<DailyQuestConfig>(data.id);
+                            dungeonModel.currentDungeon = new Dungeon(config.RelatedID, 0);
+                            WindowCenter.Instance.Open<DungeonBuyTimesWin>();
+                            break;
+                    }
                 }
                 else
                 {
diff --git a/System/DailyQuest/DailyQuestModel.cs b/System/DailyQuest/DailyQuestModel.cs
index e9df2bf..656fc01 100644
--- a/System/DailyQuest/DailyQuestModel.cs
+++ b/System/DailyQuest/DailyQuestModel.cs
@@ -246,7 +246,7 @@
                         switch (config.RelatedID)
                         {
                             case 11:
-                                return dailyQuestOpenTime.DayTimes + GeneralConfig.Instance.runeTowerSweepBuyTimes;
+                                return Math.Max(dailyQuestOpenTime.DayTimes, GetDailyQuestCompletedTimes(_dailyQuestId));
                             case 16:
                                 return ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.BossHomeAwardLimit);
                             default:
@@ -831,7 +831,21 @@
                 switch (config.RelatedType)
                 {
                     case 1:
-                        return DailyQuestState.Completed;
+                        switch (config.RelatedID)
+                        {
+                            case 11:
+                                var dailyQuestOpenTime = ConfigManager.Instance.GetTemplate<DailyQuestOpenTimeConfig>(config.RelatedID);
+                                if (completedTimes >= dailyQuestOpenTime.DayTimes + GeneralConfig.Instance.runeTowerSweepBuyTimes)
+                                {
+                                    return DailyQuestState.Completed;
+                                }
+                                else
+                                {
+                                    return DailyQuestState.CanBuyTimes;
+                                }
+                            default:
+                                return DailyQuestState.Completed;
+                        }
                     case 2:
                         DungeonRecord record;
                         dungeonModel.TryGetDungeonRecord(config.RelatedID, out record);
diff --git a/System/DailyQuest/DailyQuestWin.cs b/System/DailyQuest/DailyQuestWin.cs
index f0fb056..fe0d5d4 100644
--- a/System/DailyQuest/DailyQuestWin.cs
+++ b/System/DailyQuest/DailyQuestWin.cs
@@ -252,6 +252,7 @@
                     dungeonModel.SingleChallengeDungeon(config.RelatedID);
                     break;
                 case DailyQuestType.RuneTowerSweep:
+                    RuneTowerWin.guideSweep = true;
                     WindowCenter.Instance.CloseImmediately<DailyQuestWin>();
                     WindowCenter.Instance.Open<RuneTowerWin>();
                     break;
diff --git a/System/RuneTower/RuneTowerWin.cs b/System/RuneTower/RuneTowerWin.cs
index c446264..6572750 100644
--- a/System/RuneTower/RuneTowerWin.cs
+++ b/System/RuneTower/RuneTowerWin.cs
@@ -17,6 +17,7 @@
     public class RuneTowerWin : Window
     {
         public static bool guideChallenge = false;
+        public static bool guideSweep = false;
 
         [SerializeField] RuneTowerBehaviour m_Tower;
         [SerializeField] Transform m_ContainerBossInfo;
@@ -98,6 +99,7 @@
         protected override void OnPreClose()
         {
             guideChallenge = false;
+            guideSweep = false;
             WindowCenter.Instance.uiRoot.eventSystem.enabled = true;
             m_Tower.Dispose();
             UI3DModelExhibition.Instance.StopShowNPC();
@@ -126,6 +128,7 @@
             }
 
             CheckTaskGuide();
+            CheckSweepGuide();
             CheckAchievementGuide();
         }
 
@@ -331,7 +334,6 @@
             }
         }
 
-
         private void CheckTaskGuide()
         {
             if (guideChallenge)
@@ -341,6 +343,15 @@
             }
         }
 
+        private void CheckSweepGuide()
+        {
+            if (guideSweep && m_Sweep.gameObject.activeInHierarchy)
+            {
+                var guideEffect = AchievementGuideEffectPool.Require(1);
+                guideEffect.transform.SetParentEx(m_Sweep.transform, Vector3.zero, Vector3.zero, Vector3.one);
+            }
+        }
+
         private void CheckAchievementGuide()
         {
             if (AchievementGoto.guideAchievementId != 0)

--
Gitblit v1.8.0