少年修仙传客户端代码仓库
client_Zxw
2019-01-08 87874985743a0471fcbd9f2335e0bc4bced09c4f
5767 【前端】【1.5】新增8-14天活动功能(制作成7日运营活动的模板)
2个文件已修改
12个文件已添加
685 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0A_tagMCWeekPartyInfo.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0A_tagMCWeekPartyInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0B_tagMCWeekPartyPlayerInfo.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0B_tagMCWeekPartyPlayerInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0A_tagMCWeekPartyInfo.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0A_tagMCWeekPartyInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0B_tagMCWeekPartyPlayerInfo.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0B_tagMCWeekPartyPlayerInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServiceAchievementCell.cs 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServiceAchievementCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServiceAchievementModel.cs 227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServiceAchievementModel.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServiceAchievementWin.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/ModelCenter.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0A_tagMCWeekPartyInfo.cs
New file
@@ -0,0 +1,11 @@
using UnityEngine;
using System.Collections;
// AA 0A 周狂欢活动信息 #tagMCWeekPartyInfo
public class DTCAA0A_tagMCWeekPartyInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HAA0A_tagMCWeekPartyInfo vNetData = vNetPack as HAA0A_tagMCWeekPartyInfo;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0A_tagMCWeekPartyInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 72692874cbc2b764695a9f3d16eaa2ef
timeCreated: 1546914880
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0B_tagMCWeekPartyPlayerInfo.cs
New file
@@ -0,0 +1,11 @@
using UnityEngine;
using System.Collections;
// AA 0B 周狂欢玩家活动信息 #tagMCWeekPartyPlayerInfo
public class DTCAA0B_tagMCWeekPartyPlayerInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HAA0B_tagMCWeekPartyPlayerInfo vNetData = vNetPack as HAA0B_tagMCWeekPartyPlayerInfo;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HAA_SaleActivity/DTCAA0B_tagMCWeekPartyPlayerInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 58aba46fc0042c3418fb8532a50ab92d
timeCreated: 1546914879
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0A_tagMCWeekPartyInfo.cs
New file
@@ -0,0 +1,88 @@
using UnityEngine;
using System.Collections;
// AA 0A 周狂欢活动信息 #tagMCWeekPartyInfo
public class HAA0A_tagMCWeekPartyInfo : GameNetPackBasic {
    public string StartDate;    // 开始日期 y-m-d
    public string EndtDate;    // 结束日期 y-m-d
    public byte IsDayReset;    //是否每天重置
    public byte ResetType;    // 重置类型,0-0点重置;1-5点重置
    public ushort LimitLV;    // 限制等级
    public byte DayCnt;    // 天数
    public  tagMCWeekPartyDayInfo[] DayInfoList;    // 每天模板
    public byte TCount;    // 模板数
    public  tagMCWeekPartyAction[] ActionInfo;    // 活动模板信息
    public HAA0A_tagMCWeekPartyInfo () {
        _cmd = (ushort)0xAA0A;
    }
    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 ResetType, vBytes, NetDataType.BYTE);
        TransBytes (out LimitLV, vBytes, NetDataType.WORD);
        TransBytes (out DayCnt, vBytes, NetDataType.BYTE);
        DayInfoList = new tagMCWeekPartyDayInfo[DayCnt];
        for (int i = 0; i < DayCnt; i ++) {
            DayInfoList[i] = new tagMCWeekPartyDayInfo();
            TransBytes (out DayInfoList[i].ActCnt, vBytes, NetDataType.BYTE);
            TransBytes (out DayInfoList[i].TemplateList, vBytes, NetDataType.WORD, DayInfoList[i].ActCnt);
            TransBytes (out DayInfoList[i].PCount, vBytes, NetDataType.BYTE);
            DayInfoList[i].PItemInfo = new tagMCWeekPartyItem[DayInfoList[i].PCount];
            for (int j = 0; j < DayInfoList[i].PCount; j ++) {
                DayInfoList[i].PItemInfo[j] = new tagMCWeekPartyItem();
                TransBytes (out DayInfoList[i].PItemInfo[j].NeedPoint, vBytes, NetDataType.WORD);
                TransBytes (out DayInfoList[i].PItemInfo[j].ItemID, vBytes, NetDataType.DWORD);
                TransBytes (out DayInfoList[i].PItemInfo[j].ItemCnt, vBytes, NetDataType.WORD);
                TransBytes (out DayInfoList[i].PItemInfo[j].IsBind, vBytes, NetDataType.BYTE);
            }
        }
        TransBytes (out TCount, vBytes, NetDataType.BYTE);
        ActionInfo = new tagMCWeekPartyAction[TCount];
        for (int i = 0; i < TCount; i ++) {
            ActionInfo[i] = new tagMCWeekPartyAction();
            TransBytes (out ActionInfo[i].TemplateID, vBytes, NetDataType.DWORD);
            TransBytes (out ActionInfo[i].ActionType, vBytes, NetDataType.WORD);
            TransBytes (out ActionInfo[i].TotalTimes, vBytes, NetDataType.BYTE);
            TransBytes (out ActionInfo[i].SingleTimes, vBytes, NetDataType.DWORD);
            TransBytes (out ActionInfo[i].Point, vBytes, NetDataType.DWORD);
            TransBytes (out ActionInfo[i].Count, vBytes, NetDataType.BYTE);
            ActionInfo[i].ItemInfo = new tagMCWeekPartyItem[ActionInfo[i].Count];
            for (int j = 0; j < ActionInfo[i].Count; j ++) {
                ActionInfo[i].ItemInfo[j] = new tagMCWeekPartyItem();
                TransBytes (out ActionInfo[i].ItemInfo[j].NeedPoint, vBytes, NetDataType.WORD);
                TransBytes (out ActionInfo[i].ItemInfo[j].ItemID, vBytes, NetDataType.DWORD);
                TransBytes (out ActionInfo[i].ItemInfo[j].ItemCnt, vBytes, NetDataType.WORD);
                TransBytes (out ActionInfo[i].ItemInfo[j].IsBind, vBytes, NetDataType.BYTE);
            }
        }
    }
    public struct tagMCWeekPartyItem {
        public ushort NeedPoint;        // 领奖需要积分
        public uint ItemID;        // 物品ID
        public ushort ItemCnt;        // 物品数量
        public byte IsBind;        // 是否绑定
    }
    public struct tagMCWeekPartyAction {
        public uint TemplateID;        // 模板ID
        public ushort ActionType;        // 活动类别
        public byte TotalTimes;        // 可完成的总次数,0表示不限次数
        public uint SingleTimes;        // 单次领奖需要的次数
        public uint Point;        // 单次领奖积分
        public byte Count;        // 物品数
        public  tagMCWeekPartyItem[] ItemInfo;        // 物品信息
    }
    public struct tagMCWeekPartyDayInfo {
        public byte ActCnt;        // 数量
        public  ushort[] TemplateList;        // 模板列表
        public byte PCount;        // 物品数
        public  tagMCWeekPartyItem[] PItemInfo;        // 物品信息
    }
}
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0A_tagMCWeekPartyInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 105a5325e78cad84baafa89fb8522311
timeCreated: 1546914879
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0B_tagMCWeekPartyPlayerInfo.cs
New file
@@ -0,0 +1,47 @@
using UnityEngine;
using System.Collections;
// AA 0B 周狂欢玩家活动信息 #tagMCWeekPartyPlayerInfo
public class HAA0B_tagMCWeekPartyPlayerInfo : GameNetPackBasic {
    public byte Count;
    public  tagMCWeekPartyDayPlayerInfo[] DayInfoList;    //活动完成次数信息
    public HAA0B_tagMCWeekPartyPlayerInfo () {
        _cmd = (ushort)0xAA0B;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Count, vBytes, NetDataType.BYTE);
        DayInfoList = new tagMCWeekPartyDayPlayerInfo[Count];
        for (int i = 0; i < Count; i ++) {
            DayInfoList[i] = new tagMCWeekPartyDayPlayerInfo();
            TransBytes (out DayInfoList[i].DayIndex, vBytes, NetDataType.DWORD);
            TransBytes (out DayInfoList[i].Point, vBytes, NetDataType.DWORD);
            TransBytes (out DayInfoList[i].AwardRecord, vBytes, NetDataType.DWORD);
            TransBytes (out DayInfoList[i].ACount, vBytes, NetDataType.DWORD);
            DayInfoList[i].TaskList = new tagMCWeekPartyTaskInfo[DayInfoList[i].ACount];
            for (int j = 0; j < DayInfoList[i].ACount; j ++) {
                DayInfoList[i].TaskList[j] = new tagMCWeekPartyTaskInfo();
                TransBytes (out DayInfoList[i].TaskList[j].TemplateID, vBytes, NetDataType.WORD);
                TransBytes (out DayInfoList[i].TaskList[j].CurTimes, vBytes, NetDataType.WORD);
                TransBytes (out DayInfoList[i].TaskList[j].GotTimes, vBytes, NetDataType.WORD);
            }
        }
    }
    public struct tagMCWeekPartyDayPlayerInfo {
        public uint DayIndex;        //第X天
        public uint Point;        //积分
        public uint AwardRecord;        //积分领奖记录
        public uint ACount;        //任务条目数
        public  tagMCWeekPartyTaskInfo[] TaskList;        //活动完成次数信息
    }
    public struct tagMCWeekPartyTaskInfo {
        public ushort TemplateID;        // 模板ID
        public ushort CurTimes;        //已完成次数
        public ushort GotTimes;        //已领取次数
    }
}
Core/NetworkPackage/ServerPack/HAA_SaleActivity/HAA0B_tagMCWeekPartyPlayerInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 1ed838c254d198840b0c0e9e5da66eaa
timeCreated: 1546914879
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/OpenServerActivity/OpenServiceAchievementCell.cs
New file
@@ -0,0 +1,197 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, January 08, 2019
//--------------------------------------------------------
using EnhancedUI.EnhancedScroller;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
using System;
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class OpenServiceAchievementCell : ScrollerUI
    {
        [SerializeField] Text m_TextA;
        [SerializeField] Text m_TextB;
        [SerializeField] Text m_TextC;
        [SerializeField] Transform m_ItemList;
        [SerializeField] Button m_Btn;
        [SerializeField] Text m_BtnText;
        [SerializeField] GameObject m_Miss;//错过
        [SerializeField] GameObject m_Reach;//未达成
        [SerializeField] GameObject m_Draw;//已领取
        OpenServiceAchievementModel model { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } }
        ItemTipsModel _itemTipsModel;
        ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
        public override void Refresh(CellView cell)
        {
            int ID = cell.index;
            if (!model.WeekPartyDayInfoDic.ContainsKey(model.SelectedNow) || !model.WeekPartyActionDic.ContainsKey(ID))
            {
                return;
            }
            var WeekPartyAction = model.WeekPartyActionDic[ID];
            int rewardNum = GetRewardNumber(model.SelectedNow, ID);//已领奖次数
            int carryOutNum = GetCarryOutNum(model.SelectedNow, ID);//已完成次数
            int number = WeekPartyAction.TotalTimes / WeekPartyAction.SingleTimes;
            if (number - rewardNum > 0)
            {
                m_TextA.text = Language.Get("OSA_1", (number - rewardNum));
            }
            else
            {
                m_TextA.text = Language.Get("OSA_1", 0);
            }
            m_TextB.text = "AAAAAAAAA";
            m_TextC.text = Language.Get("OSA_1", WeekPartyAction.Point);
            for (int i = 0; i < m_ItemList.childCount; i++)
            {
                GameObject Obj = m_ItemList.GetChild(i).gameObject;
                ItemCell itemCell = Obj.GetComponent<ItemCell>();
                if (i < WeekPartyAction.WeekPartyItem.Length)
                {
                    Obj.SetActive(true);
                    var Item = WeekPartyAction.WeekPartyItem[i];
                    ItemCellModel cellModel = new ItemCellModel(Item.ItemID, true, (ulong)Item.ItemCnt, Item.IsBind);
                    itemCell.Init(cellModel);
                    itemCell.cellBtn.SetListener(() =>
                    {
                        ItemAttrData attrData = new ItemAttrData(Item.ItemID, false, (ulong)Item.ItemCnt, -1, Item.IsBind);
                        itemTipsModel.SetItemTipsModel(attrData);
                    });
                }
                else
                {
                    Obj.SetActive(false);
                }
            }
            if (model.SelectedNow != model.DayNow)
            {
                if (model.SelectedNow > model.DayNow)//还未到达的天数
                {
                    m_Btn.gameObject.SetActive(false);
                    m_Miss.SetActive(false);
                    m_Reach.SetActive(false);
                    m_Draw.SetActive(false);
                }
                else//已过的天数
                {
                    if (WeekPartyAction.SingleTimes > carryOutNum)//未到达
                    {
                        m_Btn.gameObject.SetActive(false);
                        m_Miss.SetActive(false);
                        m_Reach.SetActive(true);
                        m_Draw.SetActive(false);
                    }
                    else
                    {
                        if (rewardNum >= number)//已经领完
                        {
                            m_Btn.gameObject.SetActive(false);
                            m_Miss.SetActive(false);
                            m_Reach.SetActive(false);
                            m_Draw.SetActive(true);
                        }
                        else//还未领取
                        {
                            m_Btn.gameObject.SetActive(true);
                            m_BtnText.text = Language.Get("RealmPractice109");//领取
                            m_Miss.SetActive(false);
                            m_Reach.SetActive(false);
                            m_Draw.SetActive(false);
                            m_Btn.SetListener(()=>
                            {
                                DebugEx.LogError("-----------------------------");
                            });
                        }
                    }
                }
            }
            else//当前天
            {
                if (WeekPartyAction.SingleTimes > carryOutNum)//未到达(前往)
                {
                    m_Btn.gameObject.SetActive(true);
                    m_BtnText.text = Language.Get("RealmPractice108");//前往
                    m_Miss.SetActive(false);
                    m_Reach.SetActive(false);
                    m_Draw.SetActive(false);
                    m_Btn.SetListener(() =>
                    {
                        // WindowJumpMgr.Instance.WindowJumpTo();
                        DebugEx.LogError("-----------------------------");
                    });
                }
                else
                {
                    if (rewardNum >= number)//已经领完
                    {
                        m_Btn.gameObject.SetActive(false);
                        m_Miss.SetActive(false);
                        m_Reach.SetActive(false);
                        m_Draw.SetActive(true);
                    }
                    else//还未领取
                    {
                        m_Btn.gameObject.SetActive(true);
                        m_BtnText.text = Language.Get("RealmPractice109");//领取
                        m_Miss.SetActive(false);
                        m_Reach.SetActive(false);
                        m_Draw.SetActive(false);
                        m_Btn.SetListener(() =>
                        {
                            DebugEx.LogError("-----------------------------");
                        });
                    }
                }
            }
        }
        private int GetRewardNumber(int Day, int ID)//获取领奖次数
        {
            int Num = -1;
            if (model.WeekPartyDayInfoDic.ContainsKey(Day))
            {
                var WeekPartyDay = model.WeekPartyDayInfoDic[Day];
                for (int i = 0; i < WeekPartyDay.ActionType.Length; i++)
                {
                    var ActionType = WeekPartyDay.ActionType[i];
                    if (ID == ActionType.TemplateID)
                    {
                        Num = ActionType.GotTimes;
                    }
                }
            }
            return Num;
        }
        public int GetCarryOutNum(int Day, int ID)//获取已完成次数
        {
            int Num = -1;
            if (model.WeekPartyDayInfoDic.ContainsKey(Day))
            {
                var WeekPartyDay = model.WeekPartyDayInfoDic[Day];
                for (int i = 0; i < WeekPartyDay.ActionType.Length; i++)
                {
                    var ActionType = WeekPartyDay.ActionType[i];
                    if (ID == ActionType.TemplateID)
                    {
                        Num = ActionType.CurTimes;
                    }
                }
            }
            return Num;
        }
    }
}
System/OpenServerActivity/OpenServiceAchievementCell.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 4496751da23fc9a4398c7108cb98aa34
timeCreated: 1546914150
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/OpenServerActivity/OpenServiceAchievementModel.cs
New file
@@ -0,0 +1,227 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, January 08, 2019
//--------------------------------------------------------
using System;
using System.Collections.Generic;
using TableConfig;
using Snxxz.UI;
using System.Linq;
[XLua.LuaCallCSharp]
public class ActionTypeClass
{
    public int TemplateID;    // 模板ID
    public int CurTimes;    //已完成次数
    public int GotTimes;    //已领取次数
}
public class WeekPartyDayInfoClass
{
    public int DayIndex;//第X天
    public int Point;//积分
    public int AwardRecord;//领奖记录
    public ActionTypeClass[] ActionType;//领奖信息
}
public class TimeDayClass
{
    public int Year;
    public int Month;
    public int Day;
    public string TimeStr;
}
public class WeekPartyItemClass
{
    public int NeedPoint; // 领奖需要积分
    public int ItemID;   // 物品ID
    public int ItemCnt;   // 物品数量
    public int IsBind;    // 是否绑定
}
public class WeekPartyDayClass
{
    public int Day;
    public int[] TemplateList;// 模板列表
    public WeekPartyItemClass[] WeekPartyItem;//奖励列表
}
public class WeekPartyActionClass//模板信息
{
    public int TemplateID;   // 模板ID
    public int ActionType;    // 活动类别
    public int TotalTimes;    // 可完成的总次数,0表示不限次数
    public int SingleTimes;  // 单次领奖需要的次数
    public int Point;    // 单次领奖积分
    public WeekPartyItemClass[] WeekPartyItem;//物品奖励列表
}
public class OpenServiceAchievementModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
{
    public Dictionary<int, WeekPartyDayInfoClass> WeekPartyDayInfoDic = new Dictionary<int, WeekPartyDayInfoClass>();//每天领取奖励信息
    public event Action WeekPartyDayInfoUpdate;//领奖记录变更
    public TimeDayClass[] TimeDayBeginAndOver = new TimeDayClass[2];//开始和结束时间
    public int LimitLV = 0;//限制等级
    public Dictionary<int, WeekPartyDayClass> WeekPartyDayDic = new Dictionary<int, WeekPartyDayClass>();//每天的奖励信息
    public Dictionary<int, WeekPartyActionClass> WeekPartyActionDic = new Dictionary<int, WeekPartyActionClass>();//活动模板信息
    public event Action WeekPartyUpdate;//活动信息变更
    private int _SelectedNow = 0;
    public int SelectedNow//选中天
    {
        get { return _SelectedNow; }
        set { _SelectedNow = value; }
    }
    private int _DayNow=0;
    public int DayNow//当前天
    {
        get { return _DayNow; }
        set { _DayNow = value; }
    }
    public override void Init()
    {
    }
    public void OnBeforePlayerDataInitialize()
    {
    }
    public void OnPlayerLoginOk()
    {
    }
    public override void UnInit()
    {
    }
    public void WeekPartyPlayerInfo(HAA0B_tagMCWeekPartyPlayerInfo info)
    {
        for (int i = 0; i < info.Count; i++)
        {
            var DayInfo = info.DayInfoList[i];
            WeekPartyDayInfoClass WeekPartyDayInfo = new WeekPartyDayInfoClass();
            WeekPartyDayInfo.DayIndex = (int)DayInfo.DayIndex;
            WeekPartyDayInfo.Point = (int)DayInfo.Point;
            WeekPartyDayInfo.ActionType = new ActionTypeClass[DayInfo.ACount];
            for (int k = 0; k < DayInfo.ACount; k++)
            {
                var Task = DayInfo.TaskList[k];
                ActionTypeClass ActionType = new ActionTypeClass();
                ActionType.TemplateID = Task.TemplateID;
                ActionType.CurTimes = Task.CurTimes;
                ActionType.GotTimes = Task.GotTimes;
                WeekPartyDayInfo.ActionType[k] = ActionType;
            }
            if (WeekPartyDayInfoDic.ContainsKey((int)DayInfo.DayIndex))
            {
                WeekPartyDayInfoDic[(int)DayInfo.DayIndex] = WeekPartyDayInfo;
            }
            else
            {
                WeekPartyDayInfoDic.Add((int)DayInfo.DayIndex, WeekPartyDayInfo);
            }
        }
        if (WeekPartyDayInfoUpdate != null)
        {
            WeekPartyDayInfoUpdate();
        }
    }
    public void WeekPartyInfo(HAA0A_tagMCWeekPartyInfo info)
    {
        string[] dateArray = info.StartDate.Split('-');
        if (dateArray != null && dateArray.Length == 3)
        {
            TimeDayClass TimeDay = new TimeDayClass();
            TimeDay.Year = int.Parse(dateArray[0].Trim());
            TimeDay.Month = int.Parse(dateArray[1].Trim());
            TimeDay.Day = int.Parse(dateArray[2].Trim());
            TimeDay.TimeStr = info.StartDate;
            TimeDayBeginAndOver[0] = TimeDay;
        }
        string[] dateArrayO = info.EndtDate.Split('-');
        if (dateArrayO != null && dateArrayO.Length == 3)
        {
            TimeDayClass TimeDay = new TimeDayClass();
            TimeDay.Year = int.Parse(dateArrayO[0].Trim());
            TimeDay.Month = int.Parse(dateArrayO[1].Trim());
            TimeDay.Day = int.Parse(dateArrayO[2].Trim());
            TimeDay.TimeStr = info.EndtDate;
            TimeDayBeginAndOver[1] = TimeDay;
        }
        LimitLV = info.LimitLV;
        for (int i = 0; i < info.DayCnt; i++)
        {
            int Index = i;
            var DayInfo = info.DayInfoList[i];
            WeekPartyDayClass WeekPartyDay = new WeekPartyDayClass();
            WeekPartyDay.TemplateList = new int[DayInfo.ActCnt];
            for (int k = 0; k < DayInfo.ActCnt; k++)
            {
                WeekPartyDay.TemplateList[k] = DayInfo.TemplateList[k];
            }
            WeekPartyDay.WeekPartyItem = new WeekPartyItemClass[DayInfo.PCount];
            for (int p = 0; p < DayInfo.PCount; p++)
            {
                WeekPartyItemClass WeekPartyItem = new WeekPartyItemClass();
                var Item = DayInfo.PItemInfo[p];
                WeekPartyItem.NeedPoint = Item.NeedPoint;
                WeekPartyItem.ItemID = (int)Item.ItemID;
                WeekPartyItem.ItemCnt = (int)Item.ItemCnt;
                WeekPartyItem.IsBind = (int)Item.IsBind;
                WeekPartyDay.WeekPartyItem[p] = WeekPartyItem;
            }
            if (WeekPartyDayDic.ContainsKey(Index))
            {
                WeekPartyDayDic[Index] = WeekPartyDay;
            }
            else
            {
                WeekPartyDayDic.Add(Index, WeekPartyDay);
            }
        }// 每天模板
        for (int i = 0; i < info.TCount; i++)
        {
            var ActionInfo = info.ActionInfo[i];
            WeekPartyActionClass WeekPartyAction = new WeekPartyActionClass();
            WeekPartyAction.TemplateID = (int)ActionInfo.TemplateID;
            WeekPartyAction.ActionType = (int)ActionInfo.ActionType;
            WeekPartyAction.TotalTimes = (int)ActionInfo.TotalTimes;
            WeekPartyAction.SingleTimes = (int)ActionInfo.SingleTimes;
            WeekPartyAction.Point = (int)ActionInfo.Point;
            WeekPartyAction.WeekPartyItem = new WeekPartyItemClass[ActionInfo.Count];
            for (int z = 0; z < ActionInfo.Count; z++)
            {
                var item = ActionInfo.ItemInfo[z];
                WeekPartyItemClass WeekPartyItem = new WeekPartyItemClass();
                WeekPartyItem.ItemID = (int)item.ItemID;
                WeekPartyItem.ItemCnt = (int)item.ItemCnt;
                WeekPartyItem.IsBind = item.IsBind;
                WeekPartyItem.NeedPoint = 0;
            }
            if (WeekPartyActionDic.ContainsKey((int)ActionInfo.TemplateID))
            {
                WeekPartyActionDic[(int)ActionInfo.TemplateID] = WeekPartyAction;
            }
            else
            {
                WeekPartyActionDic.Add((int)ActionInfo.TemplateID, WeekPartyAction);
            }
        }// 活动模板信息
        if (WeekPartyUpdate != null)
        {
            WeekPartyUpdate();
        }
    }
}
System/OpenServerActivity/OpenServiceAchievementModel.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 47b6c129d29b8ca468b66b208c1da32c
timeCreated: 1546914598
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/OpenServerActivity/OpenServiceAchievementWin.cs
@@ -18,8 +18,9 @@
    {
        [SerializeField] ScrollerController m_ScrollerController1;//天
        [SerializeField] ScrollerController m_ScrollerController2;//列表
        private int InDay;
        private int InDay;
        #region Built-in
        OpenServiceAchievementModel model { get { return ModelCenter.Instance.GetModel<OpenServiceAchievementModel>(); } }
        protected override void BindController()
        {
            m_ScrollerController1.OnRefreshCell += OnRefreshGridCell_1;
@@ -81,6 +82,7 @@
                if (Index != InDay)
                {
                    InDay = Index;
                    model.SelectedNow = InDay;//选中天
                    m_ScrollerController1.m_Scorller.RefreshActiveCellViews();//刷新可见
                }
            });
@@ -89,19 +91,20 @@
        private string InDayStr(int Day)
        {
            string DaySte = string.Empty;
            switch (Day)
            {
                case 1:
                    return DaySte;
                case 2:
                    return DaySte;
                case 3:
                    return DaySte;
                case 4:
                    return DaySte;
                case 5:
                    return DaySte;
            }
            DaySte = Language.Get("SignIn_4",Day);
            //switch (Day)
            //{
            //    case 1:
            //        return DaySte;
            //    case 2:
            //        return DaySte;
            //    case 3:
            //        return DaySte;
            //    case 4:
            //        return DaySte;
            //    case 5:
            //        return DaySte;
            //}
            return DaySte;
        }
        //-------------------------------
System/WindowBase/ModelCenter.cs
@@ -218,6 +218,7 @@
            RegisterModel<GatherSoulComposeModel>();
            RegisterModel<GatherSoulDungeonModel>();
            RegisterModel<KingTreasureModel>();
            RegisterModel<OpenServiceAchievementModel>();
            inited = true;
        }