From d5d5e8d32a458f10fc7cffebba77e125572ef164 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 14 八月 2018 09:39:59 +0800
Subject: [PATCH] 2278 【前端】奖励、复活点通知方式修改

---
 System/BossReborn/BossRebornBehaviour.cs                                                |   37 -----
 Core/GameEngine/Model/Config/BossRebornConfig.cs.meta                                   |    2 
 System/BossReborn/BossRebornData.cs                                                     |   33 +++++
 Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC08_tagGCBossRebornPoint.cs     |    1 
 System/BossReborn/BossRebornModel.cs                                                    |   41 ++----
 System/BossReborn/BossRebornWin.cs                                                      |    4 
 Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs                |   60 ++++++++++
 System/Welfare/OperationTimeHepler.cs                                                   |    7 
 Core/GameEngine/Model/Config/BossRebornConfig.cs                                        |   70 -----------
 Core/NetworkPackage/ServerPack/HAC_Activity/HAC08_tagGCBossRebornPoint.cs               |    2 
 Core/GameEngine/DataToCtl/PackageRegedit.cs                                             |    3 
 Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs.meta |    4 
 Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs      |   36 +++---
 Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs.meta           |    4 
 14 files changed, 148 insertions(+), 156 deletions(-)

diff --git a/Core/GameEngine/DataToCtl/PackageRegedit.cs b/Core/GameEngine/DataToCtl/PackageRegedit.cs
index 6f2c2fa..8446b88 100644
--- a/Core/GameEngine/DataToCtl/PackageRegedit.cs
+++ b/Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -11,12 +11,11 @@
     public static void Init()
     {
         // 鐧昏鐩稿簲鐨勬暟鎹綋鍙婂搴旂殑鏁版嵁杞�昏緫绫�
+		Register(typeof(HAB04_tagMCBossRebornInfo), typeof(DTCAB04_tagMCBossRebornInfo));
 		Register(typeof(HA40B_tagGCPlayerJoinFamilyWarInfo), typeof(DTCA40B_tagGCPlayerJoinFamilyWarInfo));
 		Register(typeof(HA319_tagMCPackDownloadRecord), typeof(DTCA319_tagMCPackDownloadRecord));
-
         Register(typeof(HAC0A_tagGCMultiRealmPointInfo), typeof(DTCAC0A_tagGCMultiRealmPointInfo));
         Register(typeof(HAC08_tagGCBossRebornPoint), typeof(DTCAC08_tagGCBossRebornPoint));
-		Register(typeof(HAC07_tagGCBossRebornInfo), typeof(DTCAC07_tagGCBossRebornInfo));
 		Register(typeof(HAB03_tagMCBossRebornPlayerInfo), typeof(DTCAB03_tagMCBossRebornPlayerInfo));
 		Register(typeof(HAA11_tagMCSpringSaleInfo), typeof(DTCAA11_tagMCSpringSaleInfo));
 		Register(typeof(HAA10_tagMCCostRebatePlayerInfo), typeof(DTCAA10_tagMCCostRebatePlayerInfo));
diff --git a/Core/GameEngine/Model/Config/BossRebornConfig.cs b/Core/GameEngine/Model/Config/BossRebornConfig.cs
index fa4ea92..ebdcafb 100644
--- a/Core/GameEngine/Model/Config/BossRebornConfig.cs
+++ b/Core/GameEngine/Model/Config/BossRebornConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:			绗簩涓栫晫
-//    [  Date ]:		   Friday, July 20, 2018
+//    [  Date ]:		   Monday, August 13, 2018
 //--------------------------------------------------------
 
 using UnityEngine;
@@ -12,15 +12,6 @@
 	public partial class BossRebornConfig : ConfigBase {
 
 		public int Id { get ; private set ; }
-		public int TotalTimes { get ; private set ; }
-		public int SingleTimes { get ; private set ; }
-		public int[] Reward1;
-		public int[] RewardCount1;
-		public int[] Reward2;
-		public int[] RewardCount2;
-		public int[] Reward3;
-		public int[] RewardCount3;
-		public int[] WorldLevel;
 		public string Description { get ; private set; } 
 		public int jump { get ; private set ; }
 		public int order { get ; private set ; }
@@ -35,64 +26,11 @@
             {
                 Id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
 			
-				TotalTimes=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; 
+				Description = rawContents[1].Trim();
 			
-				SingleTimes=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
+				jump=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
 			
-				string[] Reward1StringArray = rawContents[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				Reward1 = new int[Reward1StringArray.Length];
-				for (int i=0;i<Reward1StringArray.Length;i++)
-				{
-					 int.TryParse(Reward1StringArray[i],out Reward1[i]);
-				}
-			
-				string[] RewardCount1StringArray = rawContents[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				RewardCount1 = new int[RewardCount1StringArray.Length];
-				for (int i=0;i<RewardCount1StringArray.Length;i++)
-				{
-					 int.TryParse(RewardCount1StringArray[i],out RewardCount1[i]);
-				}
-			
-				string[] Reward2StringArray = rawContents[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				Reward2 = new int[Reward2StringArray.Length];
-				for (int i=0;i<Reward2StringArray.Length;i++)
-				{
-					 int.TryParse(Reward2StringArray[i],out Reward2[i]);
-				}
-			
-				string[] RewardCount2StringArray = rawContents[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				RewardCount2 = new int[RewardCount2StringArray.Length];
-				for (int i=0;i<RewardCount2StringArray.Length;i++)
-				{
-					 int.TryParse(RewardCount2StringArray[i],out RewardCount2[i]);
-				}
-			
-				string[] Reward3StringArray = rawContents[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				Reward3 = new int[Reward3StringArray.Length];
-				for (int i=0;i<Reward3StringArray.Length;i++)
-				{
-					 int.TryParse(Reward3StringArray[i],out Reward3[i]);
-				}
-			
-				string[] RewardCount3StringArray = rawContents[8].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				RewardCount3 = new int[RewardCount3StringArray.Length];
-				for (int i=0;i<RewardCount3StringArray.Length;i++)
-				{
-					 int.TryParse(RewardCount3StringArray[i],out RewardCount3[i]);
-				}
-			
-				string[] WorldLevelStringArray = rawContents[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				WorldLevel = new int[WorldLevelStringArray.Length];
-				for (int i=0;i<WorldLevelStringArray.Length;i++)
-				{
-					 int.TryParse(WorldLevelStringArray[i],out WorldLevel[i]);
-				}
-			
-				Description = rawContents[10].Trim();
-			
-				jump=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0; 
-			
-				order=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0; 
+				order=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; 
             }
             catch (Exception ex)
             {
diff --git a/Core/GameEngine/Model/Config/BossRebornConfig.cs.meta b/Core/GameEngine/Model/Config/BossRebornConfig.cs.meta
index 027b871..60ae043 100644
--- a/Core/GameEngine/Model/Config/BossRebornConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/BossRebornConfig.cs.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: 26164724ca2c3a54e9798d3537fb0ca7
-timeCreated: 1532053505
+timeCreated: 1534162360
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs b/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs
similarity index 71%
rename from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs
rename to Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs
index 3d1b6e6..8c23040 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs
@@ -1,24 +1,24 @@
-锘�//--------------------------------------------------------
-//    [Author]:           绗簩涓栫晫
-//    [  Date ]:           Wednesday, July 18, 2018
-//--------------------------------------------------------
-
-using System;
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Monday, August 13, 2018
+//--------------------------------------------------------
+
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using Snxxz.UI;
 
-public class DTCAC07_tagGCBossRebornInfo : DtcBasic
-{
-    public override void Done(GameNetPackBasic vNetPack)
-    {
-        base.Done(vNetPack);
-        var package = vNetPack as HAC07_tagGCBossRebornInfo;
-        OperationTimeHepler.Instance.UpdateBossReborn(package);
+public class DTCAB04_tagMCBossRebornInfo : DtcBasic {
+
+    public override void Done(GameNetPackBasic vNetPack)
+    {
+        base.Done(vNetPack);
+        var package = vNetPack as HAB04_tagMCBossRebornInfo;
+        OperationTimeHepler.Instance.UpdateBossReborn(package);
     }
 
-}
-
-
-
-
+}
+
+
+
+
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta b/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs.meta
similarity index 76%
rename from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta
rename to Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs.meta
index 92c6e1a..18b85b6 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAB04_tagMCBossRebornInfo.cs.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
-guid: 1dac3402caac450408ead6d8c9f5474b
-timeCreated: 1531883702
+guid: cdf0d89d8efb5514b93662ac1c1e081e
+timeCreated: 1534162080
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC08_tagGCBossRebornPoint.cs b/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC08_tagGCBossRebornPoint.cs
index cdbf224..5f7c8b8 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC08_tagGCBossRebornPoint.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC08_tagGCBossRebornPoint.cs
@@ -19,6 +19,7 @@
         var package = vNetPack as HAC08_tagGCBossRebornPoint;
 
         model.bossRebornIntegral = (int)package.Point;
+        model.bossRebornIndegralTotal = (int)package.TotalPoint;
     }
 
 }
diff --git a/Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs b/Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs
new file mode 100644
index 0000000..6da7418
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs
@@ -0,0 +1,60 @@
+锘縰sing UnityEngine;
+using System.Collections;
+
+// AB 04 Boss澶嶆椿娲诲姩淇℃伅 #tagMCBossRebornInfo
+
+public class HAB04_tagMCBossRebornInfo : GameNetPackBasic
+{
+    public string StartDate;    // 寮�濮嬫棩鏈� y-m-d
+    public string EndtDate;    // 缁撴潫鏃ユ湡 y-m-d
+    public ushort LimitLV;    // 闄愬埗绛夌骇
+    public byte TaskCnt;
+    public tagMCBossRebornTaskInfo[] TaskInfo = null;
+
+    public HAB04_tagMCBossRebornInfo()
+    {
+        _cmd = (ushort)0xAB04;
+    }
+
+    public override void ReadFromBytes(byte[] vBytes)
+    {
+        TransBytes(out StartDate, vBytes, NetDataType.Chars, 10);
+        TransBytes(out EndtDate, vBytes, NetDataType.Chars, 10);
+        TransBytes(out LimitLV, vBytes, NetDataType.WORD);
+        TransBytes(out TaskCnt, vBytes, NetDataType.BYTE);
+        TaskInfo = new tagMCBossRebornTaskInfo[TaskCnt];
+        for (int i = 0; i < TaskCnt; i++)
+        {
+            TaskInfo[i] = new tagMCBossRebornTaskInfo();
+            TransBytes(out TaskInfo[i].TaskID, vBytes, NetDataType.BYTE);
+            TransBytes(out TaskInfo[i].TotalTimes, vBytes, NetDataType.BYTE);
+            TransBytes(out TaskInfo[i].SingleTimes, vBytes, NetDataType.BYTE);
+            TransBytes(out TaskInfo[i].AwardItemCount, vBytes, NetDataType.BYTE);
+            TaskInfo[i].AwardItem = new tagMCBossRebornAwardItem[TaskInfo[i].AwardItemCount];
+            for (int j = 0; j < TaskInfo[i].AwardItemCount; j++)
+            {
+                TaskInfo[i].AwardItem[j] = new tagMCBossRebornAwardItem();
+                TransBytes(out TaskInfo[i].AwardItem[j].ItemID, vBytes, NetDataType.DWORD);
+                TransBytes(out TaskInfo[i].AwardItem[j].ItemCount, vBytes, NetDataType.WORD);
+                TransBytes(out TaskInfo[i].AwardItem[j].IsBind, vBytes, NetDataType.BYTE);
+            }
+        }
+    }
+
+    public struct tagMCBossRebornAwardItem
+    {
+        public uint ItemID;
+        public ushort ItemCount;
+        public byte IsBind;
+    }
+
+    public struct tagMCBossRebornTaskInfo
+    {
+        public byte TaskID;        // id
+        public byte TotalTimes;        // 鍙畬鎴愭�绘鏁�,0琛ㄧず涓嶉檺娆℃暟
+        public byte SingleTimes;        // 鍗曟棰嗗闇�瑕佹鏁�
+        public byte AwardItemCount;        // 濂栧姳鐗╁搧鏁�
+        public tagMCBossRebornAwardItem[] AwardItem;        // 濂栧姳鐗╁搧淇℃伅
+    }
+
+}
\ No newline at end of file
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta b/Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs.meta
similarity index 75%
copy from Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta
copy to Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs.meta
index 92c6e1a..27e6f6d 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HAC_Activity/DTCAC07_tagGCBossRebornInfo.cs.meta
+++ b/Core/NetworkPackage/ServerPack/HAB_Activity/HAB04_tagMCBossRebornInfo.cs.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
-guid: 1dac3402caac450408ead6d8c9f5474b
-timeCreated: 1531883702
+guid: cba95a04b38120749b2fd9a9e9a3ce1b
+timeCreated: 1534159505
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2
diff --git a/Core/NetworkPackage/ServerPack/HAC_Activity/HAC08_tagGCBossRebornPoint.cs b/Core/NetworkPackage/ServerPack/HAC_Activity/HAC08_tagGCBossRebornPoint.cs
index 57100b9..764a18c 100644
--- a/Core/NetworkPackage/ServerPack/HAC_Activity/HAC08_tagGCBossRebornPoint.cs
+++ b/Core/NetworkPackage/ServerPack/HAC_Activity/HAC08_tagGCBossRebornPoint.cs
@@ -6,6 +6,7 @@
 public class HAC08_tagGCBossRebornPoint : GameNetPackBasic
 {
     public uint Point;    // 澶嶆椿鐐规暟
+    public uint TotalPoint;    // 澶嶆椿鎬荤偣鏁�
 
     public HAC08_tagGCBossRebornPoint()
     {
@@ -15,6 +16,7 @@
     public override void ReadFromBytes(byte[] vBytes)
     {
         TransBytes(out Point, vBytes, NetDataType.DWORD);
+        TransBytes(out TotalPoint, vBytes, NetDataType.DWORD);
     }
 
 }
\ No newline at end of file
diff --git a/System/BossReborn/BossRebornBehaviour.cs b/System/BossReborn/BossRebornBehaviour.cs
index 95ee73c..186c19f 100644
--- a/System/BossReborn/BossRebornBehaviour.cs
+++ b/System/BossReborn/BossRebornBehaviour.cs
@@ -57,41 +57,14 @@
         private void DisplayBaseInfo()
         {
             var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id);
-            var surplusTime = config.TotalTimes == 0 ? -1 : ((config.TotalTimes - rebornTask.gotRewardTimes) / config.SingleTimes);
+            var surplusTime = rebornTask.TotalTimes == 0 ? -1 : ((rebornTask.TotalTimes - rebornTask.gotRewardTimes) / rebornTask.SingleTimes);
             var surplusTimeString = UIHelper.GetTextColorByItemColor(surplusTime == 0 ? TextColType.Red : TextColType.Green,
                 surplusTime == -1 ? Language.Get("BossFHLanguage4") : surplusTime.ToString());
 
             m_surplusTimes.text = Language.Get("BossFHLanguage3", surplusTimeString);
-            m_Decription.text = string.Format(config.Description, config.SingleTimes);
+            m_Decription.text = string.Format(config.Description, rebornTask.SingleTimes);
 
-            var rewardIndex = config.WorldLevel.Length - 1;
-            var worldLevel = model.GetWorldLevel();
-            for (int i = 0; i < config.WorldLevel.Length; i++)
-            {
-                if (worldLevel < config.WorldLevel[i])
-                {
-                    rewardIndex = i;
-                    break;
-                }
-            }
-
-            var items = new List<Item>();
-            if (config.Reward1.Length > rewardIndex && config.Reward1[rewardIndex] != 0)
-            {
-                items.Add(new Item(config.Reward1[rewardIndex], config.RewardCount1[rewardIndex]));
-            }
-
-            if (config.Reward2.Length > rewardIndex && config.Reward2[rewardIndex] != 0)
-            {
-                items.Add(new Item(config.Reward2[rewardIndex], config.RewardCount2[rewardIndex]));
-            }
-
-            if (config.Reward3.Length > rewardIndex && config.Reward3[rewardIndex] != 0)
-            {
-                items.Add(new Item(config.Reward3[rewardIndex], config.RewardCount3[rewardIndex]));
-            }
-
-            m_Rewards.Display(items);
+            m_Rewards.Display(rebornTask.rewards);
         }
 
         private void Goto()
@@ -112,7 +85,7 @@
                 state == BossRebornTask.State.Normal || state == BossRebornTask.State.Rewardable);
 
             var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id);
-            var surplusTime = config.TotalTimes == 0 ? -1 : ((config.TotalTimes - rebornTask.gotRewardTimes) / config.SingleTimes);
+            var surplusTime = rebornTask.TotalTimes == 0 ? -1 : ((rebornTask.TotalTimes - rebornTask.gotRewardTimes) / rebornTask.SingleTimes);
             var surplusTimeString = UIHelper.GetTextColorByItemColor(surplusTime == 0 ? TextColType.Red : TextColType.Green,
                 surplusTime == -1 ? Language.Get("BossFHLanguage4") : surplusTime.ToString());
             m_surplusTimes.text = Language.Get("BossFHLanguage3", surplusTimeString);
@@ -125,7 +98,7 @@
         private void UpdateRewardableTimes()
         {
             var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(rebornTask.id);
-            m_CompleteTimes.text = StringUtility.Contact(rebornTask.completedTimes - rebornTask.gotRewardTimes, "/", config.SingleTimes);
+            m_CompleteTimes.text = StringUtility.Contact(rebornTask.completedTimes - rebornTask.gotRewardTimes, "/", rebornTask.SingleTimes);
         }
 
     }
diff --git a/System/BossReborn/BossRebornData.cs b/System/BossReborn/BossRebornData.cs
index 75a7eaa..94745db 100644
--- a/System/BossReborn/BossRebornData.cs
+++ b/System/BossReborn/BossRebornData.cs
@@ -2,10 +2,15 @@
 using System.Collections.Generic;
 using System;
 using TableConfig;
+using Snxxz.UI;
 
 public class BossRebornTask
 {
     public readonly int id;
+
+    public int TotalTimes;        // 鍙畬鎴愭�绘鏁�,0琛ㄧず涓嶉檺娆℃暟
+    public int SingleTimes;        // 鍗曟棰嗗闇�瑕佹鏁�
+    public List<Item> rewards = new List<Item>();
 
     int m_CompleteTimes = 0;
     public int completedTimes {
@@ -45,21 +50,32 @@
         this.id = _id;
     }
 
+    public BossRebornTask(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo _taskInfo)
+    {
+        this.id = _taskInfo.TaskID;
+        ParseServerInfo(_taskInfo);
+    }
+
     public void UpdateActivityData(int _completedTimes, int _gotRewardTimes)
     {
         this.completedTimes = _completedTimes;
         this.gotRewardTimes = _gotRewardTimes;
     }
 
+    public void UpdateActivityBaseData(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo _taskInfo)
+    {
+        ParseServerInfo(_taskInfo);
+    }
+
     public State GetState()
     {
         var config = ConfigManager.Instance.GetTemplate<BossRebornConfig>(this.id);
-        var totalTimes = config.TotalTimes == 0 ? int.MaxValue : config.TotalTimes;
+        var totalTimes = TotalTimes == 0 ? int.MaxValue : TotalTimes;
         if (gotRewardTimes >= totalTimes)
         {
             return State.Completed;
         }
-        else if (completedTimes - gotRewardTimes >= config.SingleTimes)
+        else if (completedTimes - gotRewardTimes >= SingleTimes)
         {
             return State.Rewardable;
         }
@@ -69,6 +85,19 @@
         }
     }
 
+    private void ParseServerInfo(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo _taskInfo)
+    {
+        this.TotalTimes = _taskInfo.TotalTimes;
+        this.SingleTimes = _taskInfo.SingleTimes;
+        this.rewards.Clear();
+        for (int i = 0; i < _taskInfo.AwardItemCount; i++)
+        {
+            var serverItem = _taskInfo.AwardItem[i];
+            this.rewards.Add(new Item((int)serverItem.ItemID, serverItem.ItemCount, serverItem.IsBind == 1));
+        }
+
+    }
+
     public static int SortCompare(BossRebornTask _lhs, BossRebornTask _rhs)
     {
         var stateA = _lhs.GetState();
diff --git a/System/BossReborn/BossRebornModel.cs b/System/BossReborn/BossRebornModel.cs
index 5d3c90e..b82ea63 100644
--- a/System/BossReborn/BossRebornModel.cs
+++ b/System/BossReborn/BossRebornModel.cs
@@ -23,6 +23,12 @@
             }
         }
 
+        int m_BossRebornInderalTotal = 0;
+        public int bossRebornIndegralTotal {
+            get { return m_BossRebornInderalTotal; }
+            set { m_BossRebornInderalTotal = value; }
+        }
+
         public int surplusSecond { get { return OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.BossReborn); } }
 
         public event Action bossRebornIntergralEvent;
@@ -46,17 +52,18 @@
             return OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.BossReborn);
         }
 
-        public int GetWorldLevel()
+        public void UpdateTaskBaseInfos(HAB04_tagMCBossRebornInfo.tagMCBossRebornTaskInfo[] _tasks)
         {
-            OperationBase operation;
-            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.BossReborn, out operation))
+            foreach (var task in _tasks)
             {
-                var bossOperation = operation as OperationBossReborn;
-                return bossOperation != null ? bossOperation.worldLevel : 0;
-            }
-            else
-            {
-                return 0;
+                if (bossRebornTasks.ContainsKey(task.TaskID))
+                {
+                    bossRebornTasks[task.TaskID].UpdateActivityBaseData(task);
+                }
+                else
+                {
+                    bossRebornTasks[task.TaskID] = new BossRebornTask(task);
+                }
             }
         }
 
@@ -73,22 +80,6 @@
             }
 
             return bossRebornTasks[_id];
-        }
-
-        public int GetBossRebornNeedPoint()
-        {
-            var worldLevel = GetWorldLevel();
-
-            var index = 0;
-            for (int i = 0; i < GeneralConfig.Instance.bossRebornTotalPointWorldLevelNeed.Count; i++)
-            {
-                if (worldLevel >= GeneralConfig.Instance.bossRebornTotalPointWorldLevelNeed[i])
-                {
-                    index = i + 1;
-                }
-            }
-
-            return GeneralConfig.Instance.bossRebornTotalPoint[Mathf.Clamp(index, 0, GeneralConfig.Instance.bossRebornTotalPoint.Count - 1)];
         }
 
         public void RequestTaskReward(int _id)
diff --git a/System/BossReborn/BossRebornWin.cs b/System/BossReborn/BossRebornWin.cs
index 559f274..bd6684f 100644
--- a/System/BossReborn/BossRebornWin.cs
+++ b/System/BossReborn/BossRebornWin.cs
@@ -35,7 +35,7 @@
 
         protected override void OnPreOpen()
         {
-            m_Description.text = Language.Get("BossFHLanguage7", model.GetBossRebornNeedPoint());
+            m_Description.text = Language.Get("BossFHLanguage7", model.bossRebornIndegralTotal);
             UpdateIntegral();
             UpdateCountDown();
         }
@@ -73,7 +73,7 @@
 
         private void UpdateIntegral()
         {
-            var needPoint = model.GetBossRebornNeedPoint();
+            var needPoint = model.bossRebornIndegralTotal;
             var progress = (float)model.bossRebornIntegral / needPoint;
             m_Slider.value = progress;
             m_Progress.text = StringUtility.Contact(model.bossRebornIntegral, "/", needPoint);
diff --git a/System/Welfare/OperationTimeHepler.cs b/System/Welfare/OperationTimeHepler.cs
index 2bc2f4f..80bc61a 100644
--- a/System/Welfare/OperationTimeHepler.cs
+++ b/System/Welfare/OperationTimeHepler.cs
@@ -390,7 +390,7 @@
 
         }
 
-        public void UpdateBossReborn(HAC07_tagGCBossRebornInfo package)
+        public void UpdateBossReborn(HAB04_tagMCBossRebornInfo package)
         {
             if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
             {
@@ -423,9 +423,10 @@
                 operationBase.Reset();
                 operationBase.limitLv = package.LimitLV;
                 operationBase.allDay = true;
-                (operationBase as OperationBossReborn).worldLevel = package.WorldLV;
                 operationBase.startDate = ParseOperationDate(package.StartDate);
                 operationBase.endDate = ParseOperationDate(package.EndtDate);
+
+                ModelCenter.Instance.GetModel<BossRebornModel>().UpdateTaskBaseInfos(package.TaskInfo); 
             }
         }
 
@@ -1283,8 +1284,6 @@
 
     public class OperationBossReborn : OperationBase
     {
-        public int worldLevel;
-
         public override bool SatisfyOpenCondition()
         {
             return PlayerDatas.Instance.baseData.LV >= limitLv;

--
Gitblit v1.8.0