From e1de46e546de8fd10b9ac0a2949ba14bf51f4755 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期五, 07 九月 2018 21:01:52 +0800
Subject: [PATCH] Merge branch '3243Activity' of http://192.168.0.87:10010/r/snxxz_scripts into 3243Activity

---
 System/FairyAu/FairyLeagueWin.cs |  110 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 77 insertions(+), 33 deletions(-)

diff --git a/System/FairyAu/FairyLeagueWin.cs b/System/FairyAu/FairyLeagueWin.cs
index 36b73ff..d734d76 100644
--- a/System/FairyAu/FairyLeagueWin.cs
+++ b/System/FairyAu/FairyLeagueWin.cs
@@ -128,7 +128,7 @@
 
         private void UpdateKingFairyEvent()
         {
-            if (model.fairyLeagueRing == 1 && model.fairyLeagueStage == FairyLeagueStage.Over)
+            if (model.fairyLeagueSession == 1 && model.fairyLeagueStage == FairyLeagueStage.Over)
             {
                 m_RewardTxt.text = Language.Get("CongratulationWangZheMeng", kingFairyModel.kingFairyData.fairyName);
             }
@@ -153,19 +153,20 @@
 
         private void RefreshPrepare()
         {
-            var _ring = model.fairyLeagueRing;
-            if (TimeUtility.OpenWeekCnt > model.OpenServerWeek)
+            var isNextWeek = model.IsNextWeek;
+            var weekTime = isNextWeek ? model.nextWeekTime : model.currentWeekTime;
+            var ring = isNextWeek ? 0 : weekTime.currentRing;
+            FairyLeagueWeekTime.Session session;
+            if (weekTime.TryGetSession(ring, 0, out session))
             {
-                m_PrepareTitleTxt.text = Language.Get("FamilyMatchQualification");
+                var stage = session.stages.Find((x) =>
+                {
+                    return x.stage == FairyLeagueStage.Grouping;
+                });
+                m_CutOffTimeTxt.text = Language.Get("FamilyMatchBlockingTime", isNextWeek ? Language.Get("Next") : Language.Get("ThisTime"),
+                         Language.Get(StringUtility.Contact("Weekday", weekTime.GetDayOfWeek(ring))), stage.startHour,
+                         stage.startMinute.ToString("D2"));
             }
-            else
-            {
-                m_PrepareTitleTxt.text = Language.Get("FamilyMatchQualification2");
-            }
-
-            m_CutOffTimeTxt.text = Language.Get("FamilyMatchBlockingTime", model.IsNextWeek ? Language.Get("Next") : Language.Get("ThisTime"),
-                Language.Get(StringUtility.Contact("Weekday", model.groupTimes[_ring].dayOfWeek)), model.groupTimes[_ring].startHour,
-                model.groupTimes[_ring].startMinute.ToString("D2"));
 
             UpdateFairyLeagueGroup();
             UpdateStageTime();
@@ -176,14 +177,14 @@
             switch (model.fairyLeagueStage)
             {
                 case FairyLeagueStage.Grouping:
-                    m_BattleTitleTxt.text = Language.Get("FamilyMatchAboutToStart", Language.Get(StringUtility.Contact("Num_CHS_", model.fairyLeagueRing + 1)));
+                    m_BattleTitleTxt.text = Language.Get("FamilyMatchAboutToStart", Language.Get(StringUtility.Contact("Num_CHS_", model.fairyLeagueSession + 1)));
                     break;
                 case FairyLeagueStage.Fight:
-                    m_BattleTitleTxt.text = Language.Get("FamilyMatchDoing", Language.Get(StringUtility.Contact("Num_CHS_", model.fairyLeagueRing + 1)));
+                    m_BattleTitleTxt.text = Language.Get("FamilyMatchDoing", Language.Get(StringUtility.Contact("Num_CHS_", model.fairyLeagueSession + 1)));
                     break;
                 case FairyLeagueStage.Over:
                     UpdateKingFairyEvent();
-                    m_BattleTitleTxt.text = Language.Get("FamilyMatchEnd", Language.Get(StringUtility.Contact("Num_CHS_", model.fairyLeagueRing + 1)));
+                    m_BattleTitleTxt.text = Language.Get("FamilyMatchEnd", Language.Get(StringUtility.Contact("Num_CHS_", model.fairyLeagueSession + 1)));
                     break;
             }
             UpdateStageTime();
@@ -191,49 +192,77 @@
         }
         private void UpdateStageTime()
         {
-            var _ring = model.fairyLeagueRing;
+            var _session = model.fairyLeagueSession;
             bool _stage1Over = false;
             bool _stage2Over = false;
-            m_LeagueStartTime.text = Language.Get("FamilyMatchWeekTime", model.IsNextWeek ? Language.Get("Next") : Language.Get("ThisTime"), Language.Get(StringUtility.Contact("Weekday", model.groupTimes[_ring].dayOfWeek)));
-            if (_ring > 0 || model.fairyLeagueStage == FairyLeagueStage.Over)
+            var isNextWeek = model.IsNextWeek;
+            var weekTime = isNextWeek ? model.nextWeekTime : model.currentWeekTime;
+            var ring = isNextWeek ? 0 : weekTime.currentRing;
+            var fairyLeagueStage = model.fairyLeagueStage;
+            FairyLeagueWeekTime.Session session1;
+            weekTime.TryGetSession(ring, 0, out session1);
+            FairyLeagueWeekTime.Session session2;
+            weekTime.TryGetSession(ring, 1, out session2);
+
+            m_LeagueStartTime.text = Language.Get("FamilyMatchWeekTime", model.IsNextWeek ? Language.Get("Next") : Language.Get("ThisTime"), Language.Get(StringUtility.Contact("Weekday", weekTime.GetDayOfWeek(ring))));
+            if (_session > 0 || fairyLeagueStage == FairyLeagueStage.Over)
             {
                 _stage1Over = true;
                 m_StageTime1.text = StringUtility.Contact(Language.Get("FamilyMatchWhichTurn", Language.Get("Num_CHS_1")), ":   ", Language.Get("FamilyMatchAlreadyEnd"));
             }
-            if (_ring > 0 && model.fairyLeagueStage == FairyLeagueStage.Over)
+            if (_session > 0 && fairyLeagueStage == FairyLeagueStage.Over)
             {
                 _stage2Over = true;
                 m_StageTime2.text = StringUtility.Contact(Language.Get("FamilyMatchWhichTurn", Language.Get("Num_CHS_2")), ":   ", Language.Get("FamilyMatchAlreadyEnd"));
             }
             if (!_stage1Over)
             {
+                var groupStage = session1.stages.Find((x) => { return x.stage == FairyLeagueStage.Grouping; });
+                var fightStage = session1.stages.Find((x) => { return x.stage == FairyLeagueStage.Fight; });
                 m_StageTime1.text = StringUtility.Contact(Language.Get("FamilyMatchWhichTurn", Language.Get("Num_CHS_1")), ":   ",
-                    Language.Get(StringUtility.Contact("Weekday", model.groupTimes[0].dayOfWeek)), " ", model.fightTimes[0].startHour, ":",
-                    model.fightTimes[0].startMinute.ToString("D2"), "-", model.fightTimes[0].endHour, ":",
-                    model.fightTimes[0].endMinute.ToString("D2"));
+                    Language.Get(StringUtility.Contact("Weekday", groupStage.dayOfWeek)), " ", fightStage.startHour, ":",
+                    fightStage.startMinute.ToString("D2"), "-", fightStage.endHour, ":",
+                    fightStage.endMinute.ToString("D2"));
             }
             if (!_stage2Over)
             {
+                var groupStage = session2.stages.Find((x) => { return x.stage == FairyLeagueStage.Grouping; });
+                var fightStage = session2.stages.Find((x) => { return x.stage == FairyLeagueStage.Fight; });
                 m_StageTime2.text = StringUtility.Contact(Language.Get("FamilyMatchWhichTurn", Language.Get("Num_CHS_2")), ":   ",
-                    Language.Get(StringUtility.Contact("Weekday", model.groupTimes[1].dayOfWeek)), " ", model.fightTimes[1].startHour, ":",
-                    model.fightTimes[1].startMinute.ToString("D2"), "-", model.fightTimes[1].endHour, ":",
-                    model.fightTimes[1].endMinute.ToString("D2"));
+                    Language.Get(StringUtility.Contact("Weekday", groupStage.dayOfWeek)), " ", fightStage.startHour, ":",
+                    fightStage.startMinute.ToString("D2"), "-", fightStage.endHour, ":",
+                    fightStage.endMinute.ToString("D2"));
             }
-            if (_ring == 0 && model.fairyLeagueStage == FairyLeagueStage.Over)
+            if (_session == 0 && fairyLeagueStage == FairyLeagueStage.Over)
             {
-                m_LeagueStartTime.text = Language.Get("FamilyMatchWeekTime", model.IsNextWeek ? Language.Get("Next") : Language.Get("ThisTime"), Language.Get(StringUtility.Contact("Weekday", model.groupTimes[1].dayOfWeek)));
+                var groupStage = session1.stages.Find((x) => { return x.stage == FairyLeagueStage.Grouping; });
+                var fightStage = session1.stages.Find((x) => { return x.stage == FairyLeagueStage.Fight; });
+                m_LeagueStartTime.text = Language.Get("FamilyMatchWeekTime", model.IsNextWeek ? Language.Get("Next") : Language.Get("ThisTime"), Language.Get(StringUtility.Contact("Weekday", groupStage.dayOfWeek)));
             }
             else
             {
-                m_LeagueStartTime.text = Language.Get("FamilyMatchWeekTime", model.IsNextWeek ? Language.Get("Next") : Language.Get("ThisTime"), Language.Get(StringUtility.Contact("Weekday", model.groupTimes[_ring].dayOfWeek)));
+                var groupStage = session2.stages.Find((x) => { return x.stage == FairyLeagueStage.Grouping; });
+                var fightStage = session2.stages.Find((x) => { return x.stage == FairyLeagueStage.Fight; });
+                m_LeagueStartTime.text = Language.Get("FamilyMatchWeekTime", model.IsNextWeek ? Language.Get("Next") : Language.Get("ThisTime"), Language.Get(StringUtility.Contact("Weekday", groupStage.dayOfWeek)));
             }
         }
+
         private void UpdateFairyLeagueGroup()
         {
             if (model.fairyLeagueStage != FairyLeagueStage.Prepare)
             {
                 return;
             }
+
+            if (HasGradeFairy())
+            {
+                m_PrepareTitleTxt.text = Language.Get("FamilyMatchQualification");
+            }
+            else
+            {
+                m_PrepareTitleTxt.text = Language.Get("FamilyMatchQualification2");
+            }
+
             for (int i = 0; i < m_FairyNameList.Count; i++)
             {
                 List<PlayerFairyData.FairyData> list = model.frontLeagueFairy;
@@ -254,16 +283,31 @@
                 }
             }
         }
+
+        bool HasGradeFairy()
+        {
+            List<PlayerFairyData.FairyData> list = model.frontLeagueFairy;
+            for (int i = 0; i < list.Count; i++)
+            {
+                if (list[i].WarRank != 0)
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+
         private void UpdateFairyLeagueBattle()
         {
-            var _ring = model.fairyLeagueRing;
+            var _session = model.fairyLeagueSession;
+            var fairyLeagueStage = model.fairyLeagueStage;
             for (int i = 0; i < m_FairyClashList.Count; i++)
             {
                 var fairyClash = m_FairyClashList[i];
-                List<FairyLeagueBattleData> list = model.GetFairyLeague(model.StepRing(fairyClash.grade) ? 0 : model.fairyLeagueRing, fairyClash.grade);
-                fairyClash.SetActive((model.fairyLeagueStage == FairyLeagueStage.Over && _ring == 1)
-                    || model.StepRing(fairyClash.grade));
-                if ((model.fairyLeagueStage == FairyLeagueStage.Over && _ring == 1) || model.StepRing(fairyClash.grade))
+                List<FairyLeagueBattleData> list = model.GetFairyLeague(model.StepSession(fairyClash.grade) ? 0 : model.fairyLeagueSession, fairyClash.grade);
+                fairyClash.SetActive((fairyLeagueStage == FairyLeagueStage.Over && _session == 1)
+                    || model.StepSession(fairyClash.grade));
+                if ((fairyLeagueStage == FairyLeagueStage.Over && _session == 1) || model.StepSession(fairyClash.grade))
                 {
                     if (list == null || list.Count == 0)
                     {

--
Gitblit v1.8.0