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/BossRebornData.cs |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

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();

--
Gitblit v1.8.0