From 94db2e5d172f1eb4f2a8e1a2eb3656ae01bc3e2f Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 06 十一月 2018 17:26:26 +0800
Subject: [PATCH] 4555 【1.2】【前端】累计充值活动开发

---
 System/OpenServerActivity/ImpactRankModel.cs                                                         |    2 
 Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs                   |   63 +++
 Utility/EnumHelper.cs                                                                                |    3 
 System/OpenServerActivity/OperationAccumulateRecharge.cs                                             |   91 +++++
 Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs      |   24 +
 Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs                |   19 +
 System/OpenServerActivity/AccumulateRechargeCell.cs.meta                                             |   12 
 System/OpenServerActivity/AccumulateRechargeWin.cs                                                   |  302 ++++++++++++++++
 Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs.meta           |   12 
 System/OpenServerActivity/AccumulateRechargeBehaviour.cs.meta                                        |   12 
 System/OpenServerActivity/OpenServerActivityWin.cs                                                   |    4 
 System/Welfare/OperationTimeHepler.cs                                                                |   34 +
 Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs.meta              |   12 
 System/OpenServerActivity/AccumulateRechargeWin.cs.meta                                              |   12 
 System/OpenServerActivity/AccumulateRechargeModel.cs                                                 |  219 ++++++++++++
 System/OpenServerActivity/AccumulateRechargeModel.cs.meta                                            |   12 
 Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs         |   23 +
 System/OpenServerActivity/AccumulateRechargeCell.cs                                                  |   17 
 Core/GameEngine/DataToCtl/PackageRegedit.cs                                                          |    2 
 Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs.meta    |   12 
 System/WindowBase/ModelCenter.cs                                                                     |    1 
 System/OpenServerActivity/AccumulateRechargeBehaviour.cs                                             |  119 ++++++
 Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs.meta |   12 
 System/OpenServerActivity/OperationAccumulateRecharge.cs.meta                                        |   12 
 24 files changed, 1,030 insertions(+), 1 deletions(-)

diff --git a/Core/GameEngine/DataToCtl/PackageRegedit.cs b/Core/GameEngine/DataToCtl/PackageRegedit.cs
index ef84b84..4e74f3f 100644
--- a/Core/GameEngine/DataToCtl/PackageRegedit.cs
+++ b/Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -11,6 +11,8 @@
     public static void Init()
     {
         // 鐧昏鐩稿簲鐨勬暟鎹綋鍙婂搴旂殑鏁版嵁杞�昏緫绫�
+		Register(typeof(HAA1D_tagMCActTotalRechargeInfo), typeof(DTCAA1D_tagMCActTotalRechargeInfo));
+		Register(typeof(HAA1C_tagMCTotalRechargePlayerInfo), typeof(DTCAA1C_tagMCTotalRechargePlayerInfo));
 		Register(typeof(HA717_tagMCChatBubbleBoxState), typeof(DTCA717_tagMCChatBubbleBoxState));
 		Register(typeof(HB913_tagGCEnterTeamFBFailReason), typeof(DTCB913_tagGCEnterTeamFBFailReason));
 		Register(typeof(H0311_tagDeleteSkill), typeof(DTC0311_tagDeleteSkill));
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs
new file mode 100644
index 0000000..7670709
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs
@@ -0,0 +1,24 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Tuesday, November 06, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Snxxz.UI;
+public class DTCAA1C_tagMCTotalRechargePlayerInfo : DtcBasic
+{
+
+    public override void Done(GameNetPackBasic vNetPack)
+    {
+        base.Done(vNetPack);
+        var package = vNetPack as HAA1C_tagMCTotalRechargePlayerInfo;
+        ModelCenter.Instance.GetModel<AccumulateRechargeModel>().UpdateAccumulateRecharge(package);
+    }
+
+}
+
+
+
+
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs.meta b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs.meta
new file mode 100644
index 0000000..832d1c5
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1C_tagMCTotalRechargePlayerInfo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 5d4ace10ce4b33248bb5e9e3eef9722b
+timeCreated: 1541473219
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs
new file mode 100644
index 0000000..18d0979
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs
@@ -0,0 +1,23 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Tuesday, November 06, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Snxxz.UI;
+public class DTCAA1D_tagMCActTotalRechargeInfo : DtcBasic {
+
+    public override void Done(GameNetPackBasic vNetPack)
+    {
+        base.Done(vNetPack);
+        var package = vNetPack as HAA1D_tagMCActTotalRechargeInfo;
+        OperationTimeHepler.Instance.UpdateAccumulateRecharge(package);
+    }
+
+}
+
+
+
+
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs.meta b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs.meta
new file mode 100644
index 0000000..fea45c8
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA1D_tagMCActTotalRechargeInfo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 62fc9c5ac30b853429d048e9bb3cb4bc
+timeCreated: 1541473252
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs
new file mode 100644
index 0000000..c7d4326
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs
@@ -0,0 +1,19 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 1C 累计充值玩家活动信息 #tagMCTotalRechargePlayerInfo

+

+public class HAA1C_tagMCTotalRechargePlayerInfo : GameNetPackBasic {

+    public uint GoldTotal;    //本次活动已累计充值仙玉数

+    public uint AwardRecord;    //奖励领奖记录,按奖励索引二进制位存储是否已领取

+

+    public HAA1C_tagMCTotalRechargePlayerInfo () {

+        _cmd = (ushort)0xAA1C;

+    }

+

+    public override void ReadFromBytes (byte[] vBytes) {

+        TransBytes (out GoldTotal, vBytes, NetDataType.DWORD);

+        TransBytes (out AwardRecord, vBytes, NetDataType.DWORD);

+    }

+

+}

diff --git a/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs.meta b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs.meta
new file mode 100644
index 0000000..66e157d
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1C_tagMCTotalRechargePlayerInfo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b406f975a6336f843a0b69b63b646a22
+timeCreated: 1541473174
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs
new file mode 100644
index 0000000..c809b36
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs
@@ -0,0 +1,63 @@
+using UnityEngine;
+using System.Collections;
+
+// AA 1D 累计充值活动信息 #tagMCActTotalRechargeInfo

+

+public class HAA1D_tagMCActTotalRechargeInfo : GameNetPackBasic {

+    public string StartDate;    // 开始日期 y-m-d

+    public string EndtDate;    // 结束日期 y-m-d

+    public byte IsDayReset;    //是否每天重置

+    public ushort LimitLV;    // 限制等级

+    public byte AwardDays;

+    public  tagMCTotalRechargeAwardDay[] AwardDayInfo;    //每天对应信息; 如果只有一天,但是活动有多天,则代表每天奖励都一样

+

+    public HAA1D_tagMCActTotalRechargeInfo () {

+        _cmd = (ushort)0xAA1D;

+    }

+

+    public override void ReadFromBytes (byte[] vBytes) {

+        TransBytes (out StartDate, vBytes, NetDataType.Chars, 10);

+        TransBytes (out EndtDate, vBytes, NetDataType.Chars, 10);

+        TransBytes (out IsDayReset, vBytes, NetDataType.BYTE);

+        TransBytes (out LimitLV, vBytes, NetDataType.WORD);

+        TransBytes (out AwardDays, vBytes, NetDataType.BYTE);

+        AwardDayInfo = new tagMCTotalRechargeAwardDay[AwardDays];

+        for (int i = 0; i < AwardDays; i ++) {

+            AwardDayInfo[i] = new tagMCTotalRechargeAwardDay();

+            TransBytes (out AwardDayInfo[i].AwardCount, vBytes, NetDataType.BYTE);

+            AwardDayInfo[i].AwardInfo = new tagMCTotalRechargeAward[AwardDayInfo[i].AwardCount];

+            for (int j = 0; j < AwardDayInfo[i].AwardCount; j ++) {

+                AwardDayInfo[i].AwardInfo[j] = new tagMCTotalRechargeAward();

+                TransBytes (out AwardDayInfo[i].AwardInfo[j].AwardIndex, vBytes, NetDataType.BYTE);

+                TransBytes (out AwardDayInfo[i].AwardInfo[j].NeedGold, vBytes, NetDataType.DWORD);

+                TransBytes (out AwardDayInfo[i].AwardInfo[j].AwardItemCount, vBytes, NetDataType.BYTE);

+                AwardDayInfo[i].AwardInfo[j].AwardItem = new tagMCTotalRechargeAwardItem[AwardDayInfo[i].AwardInfo[j].AwardItemCount];

+                for (int k = 0; k < AwardDayInfo[i].AwardInfo[j].AwardItemCount; k ++) {

+                    AwardDayInfo[i].AwardInfo[j].AwardItem[k] = new tagMCTotalRechargeAwardItem();

+                    TransBytes (out AwardDayInfo[i].AwardInfo[j].AwardItem[k].ItemID, vBytes, NetDataType.DWORD);

+                    TransBytes (out AwardDayInfo[i].AwardInfo[j].AwardItem[k].ItemCount, vBytes, NetDataType.WORD);

+                    TransBytes (out AwardDayInfo[i].AwardInfo[j].AwardItem[k].IsBind, vBytes, NetDataType.BYTE);

+                }

+            }

+        }

+    }

+

+    public struct tagMCTotalRechargeAwardDay {

+        public byte AwardCount;        // 奖励档数

+        public  tagMCTotalRechargeAward[] AwardInfo;        // 奖励档信息

+    }

+

+    public struct tagMCTotalRechargeAwardItem {

+        public uint ItemID;

+        public ushort ItemCount;

+        public byte IsBind;

+    }

+

+    public struct tagMCTotalRechargeAward {

+        public byte AwardIndex;        // 奖励索引 0~31

+        public uint NeedGold;        // 所需仙玉数

+        public byte AwardItemCount;        // 奖励物品数

+        public  tagMCTotalRechargeAwardItem[] AwardItem;        // 奖励物品信息

+    }

+

+}

diff --git a/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs.meta b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs.meta
new file mode 100644
index 0000000..4981396
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA1D_tagMCActTotalRechargeInfo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 6a28a3dad71de0848a8a4414b718c004
+timeCreated: 1541473173
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/OpenServerActivity/AccumulateRechargeBehaviour.cs b/System/OpenServerActivity/AccumulateRechargeBehaviour.cs
new file mode 100644
index 0000000..a9cc99d
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeBehaviour.cs
@@ -0,0 +1,119 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+    public class AccumulateRechargeBehaviour : MonoBehaviour
+    {
+        [SerializeField] RectTransform m_ContainerOpen;
+        [SerializeField] RectTransform m_ContainerClose;
+        [SerializeField] Text m_MoneyClose;
+        [SerializeField] Text m_MoneyOpen;
+        [SerializeField] Image m_OpenRedpoint;
+        [SerializeField] Image m_CloseRedpoint;
+        [SerializeField] Button m_Select;
+
+        AccumulateRechargeModel model
+        {
+            get { return ModelCenter.Instance.GetModel<AccumulateRechargeModel>(); }
+        }
+
+        int selectIndex = -1;
+
+        private void Awake()
+        {
+            m_Select.onClick.AddListener(Select);
+        }
+
+        private void OnEnable()
+        {
+            model.selectUpdate += SelectUpdate;
+            model.accumulateRechargeUpdate += AccumulateRechargeUpdate;
+            model.onStateUpate += OnStateUpate;
+        }
+
+        private void OnDisable()
+        {
+            model.selectUpdate -= SelectUpdate;
+            model.accumulateRechargeUpdate -= AccumulateRechargeUpdate;
+            model.onStateUpate -= OnStateUpate;
+        }
+
+        private void OnStateUpate(int obj)
+        {
+            DisplayRedpoint();
+        }
+
+        private void AccumulateRechargeUpdate()
+        {
+            DisplayRedpoint();
+        }
+
+        public void Display(int index)
+        {
+            selectIndex = index;
+            OperationBase operationBase;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                var reward = operation.GetReward(TimeUtility.ServerNow);
+                if (reward != null)
+                {
+                    if (index < reward.recharges.Count)
+                    {
+                        var recharge = reward.recharges[index];
+                        m_MoneyClose.text = recharge.requireGold.ToString();
+                        m_MoneyOpen.text = recharge.requireGold.ToString();
+                        DisplayRedpoint();
+                        DisplaySelect();
+                    }
+                }
+            }
+        }
+
+        void DisplaySelect()
+        {
+            m_ContainerOpen.gameObject.SetActive(model.selectIndex == selectIndex);
+            m_ContainerClose.gameObject.SetActive(model.selectIndex != selectIndex);
+        }
+
+        void DisplayRedpoint()
+        {
+            OperationBase operationBase;
+            bool satisfyGet = false;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                var reward = operation.GetReward(TimeUtility.ServerNow);
+                if (reward != null)
+                {
+                    if (selectIndex < reward.recharges.Count && selectIndex >= 0)
+                    {
+                        var recharge = reward.recharges[selectIndex];
+                        satisfyGet = model.SatisfyGetReward(recharge) && model.IsOpen;
+                    }
+                }
+            }
+            m_OpenRedpoint.gameObject.SetActive(satisfyGet);
+            m_CloseRedpoint.gameObject.SetActive(satisfyGet);
+        }
+
+        private void SelectUpdate(int index)
+        {
+            m_ContainerOpen.gameObject.SetActive(index == selectIndex);
+            m_ContainerClose.gameObject.SetActive(index != selectIndex);
+        }
+
+        private void Select()
+        {
+            if (model.selectIndex != selectIndex && selectIndex != -1)
+            {
+                model.selectIndex = selectIndex;
+            }
+        }
+    }
+}
+
diff --git a/System/OpenServerActivity/AccumulateRechargeBehaviour.cs.meta b/System/OpenServerActivity/AccumulateRechargeBehaviour.cs.meta
new file mode 100644
index 0000000..04c34dc
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 48670b59affb5c0489d46a0f4747deb3
+timeCreated: 1541489873
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/OpenServerActivity/AccumulateRechargeCell.cs b/System/OpenServerActivity/AccumulateRechargeCell.cs
new file mode 100644
index 0000000..36f2133
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeCell.cs
@@ -0,0 +1,17 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+namespace Snxxz.UI
+{
+    public class AccumulateRechargeCell : CellView
+    {
+        [SerializeField] AccumulateRechargeBehaviour m_AccumulateRecharge;
+
+        public void Display(int index)
+        {
+            m_AccumulateRecharge.Display(index);
+        }
+    }
+
+}
+
diff --git a/System/OpenServerActivity/AccumulateRechargeCell.cs.meta b/System/OpenServerActivity/AccumulateRechargeCell.cs.meta
new file mode 100644
index 0000000..df0ab02
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeCell.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: c80e2ab2e8ab3e049a27f310655acd14
+timeCreated: 1541493905
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/OpenServerActivity/AccumulateRechargeModel.cs b/System/OpenServerActivity/AccumulateRechargeModel.cs
new file mode 100644
index 0000000..8c76b66
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeModel.cs
@@ -0,0 +1,219 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+namespace Snxxz.UI
+{
+    public class AccumulateRechargeModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity
+    {
+        public bool IsOpen
+        {
+            get
+            {
+                return OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.AccumulateRecharge);
+            }
+        }
+
+        public bool IsAdvance
+        {
+            get
+            {
+                return false;
+            }
+        }
+
+        public bool priorityOpen
+        {
+            get { return redpoint.state == RedPointState.Simple; }
+        }
+
+        int m_SelectIndex = 0;
+        public int selectIndex
+        {
+            get { return m_SelectIndex; }
+            set
+            {
+                if (m_SelectIndex != value)
+                {
+                    if (selectUpdate != null)
+                    {
+                        selectUpdate(value);
+                    }
+                }
+                m_SelectIndex = value;
+            }
+        }
+
+        public event Action accumulateRechargeUpdate;
+        public event Action<int> onStateUpate;
+        public event Action<int> selectUpdate;
+
+        public override void Init()
+        {
+            OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
+            OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
+            OperationTimeHepler.Instance.dayResetEvent += DayResetEvent;
+            OpenServerActivityCenter.Instance.Register((int)OpenServerActivityCenter.OSActivityType.AccumulateRecharge, this);
+        }
+
+        public void OnBeforePlayerDataInitialize()
+        {
+            rechargeTotal = 0;
+            getRewardRecord = 0;
+        }
+
+        public void OnPlayerLoginOk()
+        {
+            UpdateRedpoint();
+        }
+
+        public override void UnInit()
+        {
+            OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
+            OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
+            OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent;
+        }
+
+        private void DayResetEvent(int resetType)
+        {
+            OperationBase operationBase;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                if (resetType == operationBase.resetType)
+                {
+                    UpdateRedpoint();
+                }
+            }
+        }
+
+        private void OperationEndEvent(Operation operationType, int state)
+        {
+            if (operationType == Operation.AccumulateRecharge && state == 0)
+            {
+                UpdateRedpoint();
+                if (onStateUpate != null)
+                {
+                    onStateUpate(17);
+                }
+            }
+        }
+
+        private void OperationStartEvent(Operation operationType, int state)
+        {
+            if (operationType == Operation.AccumulateRecharge && state == 0)
+            {
+                UpdateRedpoint();
+                if (onStateUpate != null)
+                {
+                    onStateUpate(17);
+                }
+            }
+        }
+
+        #region 鏈嶅姟绔暟鎹�
+        public uint rechargeTotal { get; private set; }
+        public uint getRewardRecord { get; private set; }
+        public void UpdateAccumulateRecharge(HAA1C_tagMCTotalRechargePlayerInfo package)
+        {
+            rechargeTotal = package.GoldTotal;
+            getRewardRecord = package.AwardRecord;
+            UpdateRedpoint();
+            if (accumulateRechargeUpdate != null)
+            {
+                accumulateRechargeUpdate();
+            }
+        }
+
+        public bool IsRewardGot(OperationAccumulateRecharge.Recharge recharge)
+        {
+            if (recharge != null)
+            {
+                return IsRewardGot(recharge.index);
+            }
+            return false;
+        }
+
+        bool IsRewardGot(int index)
+        {
+            return (getRewardRecord & (1 << index)) != 0;
+        }
+
+        public bool SatisfyGetReward(OperationAccumulateRecharge.Recharge recharge)
+        {
+            if (!IsOpen)
+            {
+                return false;
+            }
+            if (IsRewardGot(recharge))
+            {
+                return false;
+            }
+            if (rechargeTotal >= recharge.requireGold)
+            {
+                return true;
+            }
+            return false;
+        }
+
+        public void GetAccumulateRechargeReward(OperationAccumulateRecharge.Recharge recharge)
+        {
+            OperationBase operationBase;
+            if (!OperationTimeHepler.Instance.InOperationTime(Operation.AccumulateRecharge))
+            {
+                SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
+                return;
+            }
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                if (IsRewardGot(recharge.index))
+                {
+                    return;
+                }
+                else if (rechargeTotal < recharge.requireGold)
+                {
+                    return;
+                }
+                CA504_tagCMPlayerGetReward pak = new CA504_tagCMPlayerGetReward();
+                pak.RewardType = (byte)GotServerRewardType.Def_RewardType_TotalRecharge;
+                pak.DataEx = (uint)recharge.index;
+                pak.DataExStrLen = 0;
+                pak.DataExStr = string.Empty;
+                GameNetSystem.Instance.SendInfo(pak);
+            }
+        }
+        #endregion
+
+        #region 绾㈢偣
+        public Redpoint redpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20917);
+
+        public void UpdateRedpoint()
+        {
+            redpoint.state = RedPointState.None;
+            if (!IsOpen)
+            {
+                return;
+            }
+            OperationBase operationBase;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                var reward = operation.GetReward(TimeUtility.ServerNow);
+                if (reward != null)
+                {
+                    for (int i = 0; i < reward.recharges.Count; i++)
+                    {
+                        var recharge = reward.recharges[i];
+                        if (SatisfyGetReward(recharge))
+                        {
+                            redpoint.state = RedPointState.Simple;
+                            break;
+                        }
+                    }
+                }
+            }
+        }
+        #endregion
+    }
+}
+
diff --git a/System/OpenServerActivity/AccumulateRechargeModel.cs.meta b/System/OpenServerActivity/AccumulateRechargeModel.cs.meta
new file mode 100644
index 0000000..b23b2f8
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeModel.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 2900b05d6b722c640bd01096d44bb9f7
+timeCreated: 1541486509
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/OpenServerActivity/AccumulateRechargeWin.cs b/System/OpenServerActivity/AccumulateRechargeWin.cs
new file mode 100644
index 0000000..1cd1a1e
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeWin.cs
@@ -0,0 +1,302 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Tuesday, November 06, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+    public class AccumulateRechargeWin : Window
+    {
+        [SerializeField] Text m_Money;
+        [SerializeField] ItemCell[] m_Items;
+        [SerializeField] Image[] m_ItemGotSigns;
+        [SerializeField] Text m_Recharge;
+        [SerializeField] Button m_Func;
+        [SerializeField] Text m_FuncBtnTxt;
+        [SerializeField] RectTransform m_ContaienrLess;
+        [SerializeField] AccumulateRechargeBehaviour[] m_AccumulateRecharges;
+        [SerializeField] RectTransform m_ContainerMore;
+        [SerializeField] ScrollerController m_ScrollerControl;
+
+        [SerializeField] RectTransform m_ContaienrOpen;
+        [SerializeField] RectTransform m_ConatinerOverdue;
+        [SerializeField] Text m_Time;
+
+        AccumulateRechargeModel model
+        {
+            get { return ModelCenter.Instance.GetModel<AccumulateRechargeModel>(); }
+        }
+        #region Built-in
+        protected override void BindController()
+        {
+        }
+
+        protected override void AddListeners()
+        {
+            m_Func.onClick.AddListener(OnFunc);
+            m_ScrollerControl.OnRefreshCell += OnRefreshCell;
+        }
+
+        protected override void OnPreOpen()
+        {
+            model.selectIndex = 0;
+            model.selectUpdate += SelectUpdate;
+            model.accumulateRechargeUpdate += AccumulateRechargeUpdate;
+            OperationTimeHepler.Instance.dayResetEvent += DayResetEvent;
+            TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
+            OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
+
+            DisplayMoney(model.selectIndex);
+            DisplayItems(model.selectIndex);
+            DisplayFunc(model.selectIndex);
+            DisplayRecharge();
+            DisplayRewards();
+            DisplayTime();
+        }
+
+        protected override void OnAfterOpen()
+        {
+        }
+
+        protected override void OnPreClose()
+        {
+            model.selectUpdate -= SelectUpdate;
+            model.accumulateRechargeUpdate -= AccumulateRechargeUpdate;
+            OperationTimeHepler.Instance.dayResetEvent -= DayResetEvent;
+            TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
+            OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
+        }
+
+        protected override void OnAfterClose()
+        {
+        }
+        #endregion
+
+        private void OnFunc()
+        {
+            OperationBase operationBase;
+            OperationAccumulateRecharge.Recharge recharge = null;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                var reward = operation.GetReward(TimeUtility.ServerNow);
+                if (model.selectIndex >= 0 && model.selectIndex < reward.recharges.Count)
+                {
+                    recharge = reward.recharges[model.selectIndex];
+                }
+            }
+            if (recharge != null)
+            {
+                if (model.SatisfyGetReward(recharge))
+                {
+                    model.GetAccumulateRechargeReward(recharge);
+                }
+                else
+                {
+                    WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc1);
+                }
+            }
+        }
+
+        private void DisplayMoney(int index)
+        {
+            OperationBase operationBase;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                var reward = operation.GetReward(TimeUtility.ServerNow);
+                if (index >= 0 && index < reward.recharges.Count)
+                {
+                    var recharge = reward.recharges[index];
+                    m_Money.text = recharge.requireGold.ToString();
+                }
+            }
+        }
+
+        private void DisplayItems(int index)
+        {
+            OperationBase operationBase;
+            OperationAccumulateRecharge.Recharge recharge = null;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                var reward = operation.GetReward(TimeUtility.ServerNow);
+                if (index >= 0 && index < reward.recharges.Count)
+                {
+                    recharge = reward.recharges[index];
+                }
+            }
+            for (int i = 0; i < m_Items.Length; i++)
+            {
+                m_Items[i].cellBtn.RemoveAllListeners();
+                if (recharge != null && i < recharge.items.Count)
+                {
+                    var item = recharge.items[i];
+                    m_Items[i].gameObject.SetActive(true);
+                    ItemCellModel itemCellModel = new ItemCellModel(item.id, true, (ulong)item.count, item.bind);
+                    m_Items[i].Init(itemCellModel);
+                    m_Items[i].cellBtn.AddListener(() =>
+                    {
+                        ItemAttrData itemAttrData = new ItemAttrData(item.id, true, (ulong)item.count, -1, item.bind);
+                        ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemAttrData);
+                    });
+                }
+                else
+                {
+                    m_Items[i].gameObject.SetActive(false);
+                }
+            }
+        }
+
+        private void DisplayRecharge()
+        {
+            m_Recharge.text = model.rechargeTotal.ToString();
+        }
+
+        private void DisplayFunc(int index)
+        {
+            OperationBase operationBase;
+            OperationAccumulateRecharge.Recharge recharge = null;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                var reward = operation.GetReward(TimeUtility.ServerNow);
+                if (index >= 0 && index < reward.recharges.Count)
+                {
+                    recharge = reward.recharges[index];
+                }
+            }
+            for (int i = 0; i < m_ItemGotSigns.Length; i++)
+            {
+                m_ItemGotSigns[i].gameObject.SetActive(recharge != null && model.IsRewardGot(recharge));
+            }
+            if (recharge == null)
+            {
+                m_Func.gameObject.SetActive(false);
+                return;
+            }
+            if (model.IsRewardGot(recharge))
+            {
+                m_Func.SetInteractable(m_FuncBtnTxt, false);
+                m_FuncBtnTxt.text = Language.Get("AccumulateRecharge_Got");
+                return;
+            }
+            m_Func.SetInteractable(m_FuncBtnTxt, true);
+            if (model.SatisfyGetReward(recharge))
+            {
+                m_FuncBtnTxt.text = Language.Get("AccumulateRecharge_GetReward");
+            }
+            else
+            {
+                m_FuncBtnTxt.text = Language.Get("AccumulateRecharge_Recharge");
+            }
+        }
+
+        private void DisplayRewards()
+        {
+            OperationBase operationBase;
+            OperationAccumulateRecharge.Reward reward = null;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                reward = operation.GetReward(TimeUtility.ServerNow);
+            }
+            m_ContaienrLess.gameObject.SetActive(reward != null && reward.recharges.Count <= 4);
+            m_ContainerMore.gameObject.SetActive(reward != null && reward.recharges.Count > 4);
+            if (reward != null && reward.recharges.Count <= 4)
+            {
+                for (int i = 0; i < m_AccumulateRecharges.Length; i++)
+                {
+                    if (i < reward.recharges.Count)
+                    {
+                        m_AccumulateRecharges[i].gameObject.SetActive(true);
+                        m_AccumulateRecharges[i].Display(i);
+                    }
+                    else
+                    {
+                        m_AccumulateRecharges[i].gameObject.SetActive(false);
+                    }
+                }
+            }
+            else if (reward != null && reward.recharges.Count > 4)
+            {
+                m_ScrollerControl.Refresh();
+                for (int i = 0; i < reward.recharges.Count; i++)
+                {
+                    m_ScrollerControl.AddCell(ScrollerDataType.Header, i);
+                }
+                m_ScrollerControl.Restart();
+            }
+        }
+
+        private void DisplayTime()
+        {
+            m_ContaienrOpen.gameObject.SetActive(model.IsOpen);
+            m_ConatinerOverdue.gameObject.SetActive(!model.IsOpen);
+            OperationBase operationBase;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                m_Time.text = operation.ToDisplayTime();
+            }
+        }
+
+        private void SelectUpdate(int index)
+        {
+            DisplayMoney(index);
+            DisplayItems(index);
+            DisplayFunc(index);
+        }
+
+        private void AccumulateRechargeUpdate()
+        {
+            DisplayRecharge();
+            DisplayFunc(model.selectIndex);
+        }
+
+        private void OnRefreshCell(ScrollerDataType type, CellView cell)
+        {
+            var accumulateRechargeCell = cell as AccumulateRechargeCell;
+            accumulateRechargeCell.Display(cell.index);
+        }
+
+        private void DayResetEvent(int resetType)
+        {
+            OperationBase operationBase;
+            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.AccumulateRecharge, out operationBase))
+            {
+                if (resetType == operationBase.resetType)
+                {
+                    DisplayRewards();
+                    DisplayTime();
+                }
+            }
+        }
+
+        private void OperationEndEvent(Operation operation, int state)
+        {
+            if (operation == Operation.AccumulateRecharge && state == 0)
+            {
+                DisplayTime();
+            }
+        }
+
+        private void OnServerOpenDayRefresh()
+        {
+            DisplayRewards();
+            DisplayTime();
+        }
+    }
+
+}
+
+
+
+
diff --git a/System/OpenServerActivity/AccumulateRechargeWin.cs.meta b/System/OpenServerActivity/AccumulateRechargeWin.cs.meta
new file mode 100644
index 0000000..65c532b
--- /dev/null
+++ b/System/OpenServerActivity/AccumulateRechargeWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: a1a05819728bfab43b0577e4909355ca
+timeCreated: 1541486287
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/OpenServerActivity/ImpactRankModel.cs b/System/OpenServerActivity/ImpactRankModel.cs
index 6402f5f..790f6f9 100644
--- a/System/OpenServerActivity/ImpactRankModel.cs
+++ b/System/OpenServerActivity/ImpactRankModel.cs
@@ -798,6 +798,8 @@
             WishingPool,
             [Header("缁戠帀杞洏")]
             WheelOfrtune,
+            [Header("绱鍏呭��")]
+            AccumulateRecharge,
         }
     }
 
diff --git a/System/OpenServerActivity/OpenServerActivityWin.cs b/System/OpenServerActivity/OpenServerActivityWin.cs
index 43c4268..c205db9 100644
--- a/System/OpenServerActivity/OpenServerActivityWin.cs
+++ b/System/OpenServerActivity/OpenServerActivityWin.cs
@@ -561,6 +561,9 @@
                 case 16:
                     WindowCenter.Instance.Open<WheelOfFortuneWin>(true);
                     break;
+                case 17:
+                    WindowCenter.Instance.Open<AccumulateRechargeWin>(true);
+                    break;
             }
         }
 
@@ -599,6 +602,7 @@
             WindowCenter.Instance.CloseImmediately<FlashRushToBuyWin>();
             WindowCenter.Instance.CloseImmediately<WishingPoolWin>();
             WindowCenter.Instance.CloseImmediately<WheelOfFortuneWin>();
+            WindowCenter.Instance.CloseImmediately<AccumulateRechargeWin>();
         }
 
         private int Compare(int order_x, int order_y)
diff --git a/System/OpenServerActivity/OperationAccumulateRecharge.cs b/System/OpenServerActivity/OperationAccumulateRecharge.cs
new file mode 100644
index 0000000..dd5bd37
--- /dev/null
+++ b/System/OpenServerActivity/OperationAccumulateRecharge.cs
@@ -0,0 +1,91 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+namespace Snxxz.UI
+{
+    public class OperationAccumulateRecharge : OperationBase
+    {
+        public List<Reward> rewards = new List<Reward>();
+        public override bool SatisfyOpenCondition()
+        {
+            return PlayerDatas.Instance.baseData.LV >= limitLv;
+        }
+
+        public override string ToDisplayTime()
+        {
+            var textBuilder = OperationTimeHepler.textBuilder;
+            textBuilder.Length = 0;
+            textBuilder.Append(startDate.ToDisplay());
+            if (startDate != endDate)
+            {
+                textBuilder.Append("鈥�");
+                textBuilder.Append(endDate.ToDisplay());
+            }
+            return textBuilder.ToString();
+        }
+
+        public override void Reset()
+        {
+            base.Reset();
+            rewards.Clear();
+        }
+
+        public void ParseAccumulateRecharge(HAA1D_tagMCActTotalRechargeInfo package)
+        {
+            for (int i = 0; i < package.AwardDays; i++)
+            {
+                var _reward = package.AwardDayInfo[i];
+                Reward reward = new Reward();
+                for (int k = 0; k < _reward.AwardCount; k++)
+                {
+                    Recharge recharge = new Recharge();
+                    recharge.requireGold = (int)_reward.AwardInfo[k].NeedGold;
+                    recharge.index = _reward.AwardInfo[k].AwardIndex;
+                    for (int q = 0; q < _reward.AwardInfo[k].AwardItemCount; q++)
+                    {
+                        var _item = _reward.AwardInfo[k].AwardItem[q];
+                        recharge.items.Add(new Item()
+                        {
+                            id = (int)_item.ItemID,
+                            count = _item.ItemCount,
+                            bind = _item.IsBind,
+                        });
+                    }
+                    reward.recharges.Add(recharge);
+                }
+                rewards.Add(reward);
+            }
+        }
+
+        public Reward GetReward(DateTime time)
+        {
+            if (rewards.Count == 0)
+            {
+                return null;
+            }
+            var index = Mathf.Min(rewards.Count - 1, IndexOfTime(time));
+            return rewards[index];
+        }
+
+        public class Reward
+        {
+            public List<Recharge> recharges = new List<Recharge>();
+        }
+
+        public class Recharge
+        {
+            public int index;
+            public int requireGold;
+            public List<Item> items = new List<Item>();
+        }
+
+        public struct Item
+        {
+            public int id;
+            public int bind;
+            public int count;
+        }
+    }
+}
+
diff --git a/System/OpenServerActivity/OperationAccumulateRecharge.cs.meta b/System/OpenServerActivity/OperationAccumulateRecharge.cs.meta
new file mode 100644
index 0000000..db71e4e
--- /dev/null
+++ b/System/OpenServerActivity/OperationAccumulateRecharge.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 628f3c2ad3c339b40b72e76da8ef1fcc
+timeCreated: 1541421540
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Welfare/OperationTimeHepler.cs b/System/Welfare/OperationTimeHepler.cs
index 82b3a57..76e91f4 100644
--- a/System/Welfare/OperationTimeHepler.cs
+++ b/System/Welfare/OperationTimeHepler.cs
@@ -184,6 +184,39 @@
         }
 
         /// <summary>
+        /// 绱鍏呭��
+        /// </summary>
+        /// <param name="package"></param>
+        public void UpdateAccumulateRecharge(HAA1D_tagMCActTotalRechargeInfo package)
+        {
+            OperationBase operationBase = null;
+            operationDict.TryGetValue(Operation.AccumulateRecharge, out operationBase);
+            if (string.IsNullOrEmpty(package.StartDate) || string.IsNullOrEmpty(package.EndtDate))
+            {
+                ForceStopOperation(Operation.AccumulateRecharge);
+            }
+            else
+            {
+                if (operationBase == null)
+                {
+                    operationBase = new OperationAccumulateRecharge();
+                    operationDict.Add(Operation.AccumulateRecharge, operationBase);
+                }
+                OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
+                operation.Reset();
+                operation.limitLv = package.LimitLV;
+                operation.startDate = ParseOperationDate(package.StartDate);
+                operation.endDate = ParseOperationDate(package.EndtDate);
+                operation.dayReset = package.IsDayReset == 1;
+                operation.ParseAccumulateRecharge(package);
+                if (operationTimeUpdateEvent != null)
+                {
+                    operationTimeUpdateEvent(Operation.AccumulateRecharge);
+                }
+            }
+        }
+
+        /// <summary>
         /// 闄愭椂鐗规儬
         /// </summary>
         /// <param name="package"></param>
@@ -723,6 +756,7 @@
         MultipRealmPoint, //N鍊嶄慨琛岀偣
         FlashRushToBuy, //闄愭椂鎶㈣喘
         WishingWellInfo, //璁告効姹�
+        AccumulateRecharge,//绱鍏呭��
         max,
     }
 }
diff --git a/System/WindowBase/ModelCenter.cs b/System/WindowBase/ModelCenter.cs
index 4d833ca..41a7893 100644
--- a/System/WindowBase/ModelCenter.cs
+++ b/System/WindowBase/ModelCenter.cs
@@ -203,6 +203,7 @@
             RegisterModel<RolePointModel>();
             RegisterModel<SocialModel>();
             RegisterModel<ChatBubbleModel>();
+            RegisterModel<AccumulateRechargeModel>();
             inited = true;
         }
 
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index 0b94163..8bacf06 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -1166,7 +1166,8 @@
     Def_RewardType_FCRecharge = 13,// 浠欑晫鐩涘吀鍏呭�煎ぇ绀�13W
     Def_RewardType_FCParty = 14,// 浠欑晫鐩涘吀鍏ㄦ皯鏉ュ棬14
     Def_RewardType_WishingWell = 16,//  璁告効姹犲鍔�16
-    Def_RewardType_OpenFunc=17,//鍔熻兘棰勫憡濂栧姳
+    Def_RewardType_OpenFunc = 17,//鍔熻兘棰勫憡濂栧姳
+    Def_RewardType_TotalRecharge = 18,//绱鍏呭�煎鍔�
 }
 
 public enum MapType

--
Gitblit v1.8.0