using UnityEngine; using System.Collections; // AA 32 跨服充值排行活动信息 #tagMCCACTGBillboardInfo public class IL_HAA32_tagMCCACTGBillboardInfo : GameNetPackBasic { public byte ServerInfoLen; public string ServerIDRangeInfo; //开放该活动的服务器ID范围列表,json格式 [[IDA, IDB], ...], [] 为全服 public byte GroupValue1; // 活动榜单分组值1,用于查询对应榜单 public string StartDate; // 开始日期 y-m-d public string EndtDate; // 结束日期 y-m-d public byte TemplateID; // 当前活动模板ID public byte TemplateCount; public tagMCCACTGBillboardTempInfo[] TempInfo; // 模板信息 public IL_HAA32_tagMCCACTGBillboardInfo () { _cmd = (ushort)0xAA32; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out ServerInfoLen, vBytes, NetDataType.BYTE); TransBytes (out ServerIDRangeInfo, vBytes, NetDataType.Chars, ServerInfoLen); TransBytes (out GroupValue1, vBytes, NetDataType.BYTE); TransBytes (out StartDate, vBytes, NetDataType.Chars, 10); TransBytes (out EndtDate, vBytes, NetDataType.Chars, 10); TransBytes (out TemplateID, vBytes, NetDataType.BYTE); TransBytes (out TemplateCount, vBytes, NetDataType.BYTE); TempInfo = new tagMCCACTGBillboardTempInfo[TemplateCount]; for (int i = 0; i < TemplateCount; i ++) { TempInfo[i] = new tagMCCACTGBillboardTempInfo(); TransBytes (out TempInfo[i].TemplateID, vBytes, NetDataType.BYTE); TransBytes (out TempInfo[i].DabiaoAwardCount, vBytes, NetDataType.BYTE); TempInfo[i].DabiaoAwardInfo = new tagMCCACTGBillboardDabiao[TempInfo[i].DabiaoAwardCount]; for (int j = 0; j < TempInfo[i].DabiaoAwardCount; j ++) { TempInfo[i].DabiaoAwardInfo[j] = new tagMCCACTGBillboardDabiao(); TransBytes (out TempInfo[i].DabiaoAwardInfo[j].AwardIndex, vBytes, NetDataType.BYTE); TransBytes (out TempInfo[i].DabiaoAwardInfo[j].NeedRMB, vBytes, NetDataType.DWORD); TransBytes (out TempInfo[i].DabiaoAwardInfo[j].AwardItemCount, vBytes, NetDataType.BYTE); TempInfo[i].DabiaoAwardInfo[j].AwardItemList = new tagMCCACTGBillboardAwardItem[TempInfo[i].DabiaoAwardInfo[j].AwardItemCount]; for (int k = 0; k < TempInfo[i].DabiaoAwardInfo[j].AwardItemCount; k ++) { TempInfo[i].DabiaoAwardInfo[j].AwardItemList[k] = new tagMCCACTGBillboardAwardItem(); TransBytes (out TempInfo[i].DabiaoAwardInfo[j].AwardItemList[k].ItemID, vBytes, NetDataType.DWORD); TransBytes (out TempInfo[i].DabiaoAwardInfo[j].AwardItemList[k].ItemCount, vBytes, NetDataType.WORD); TransBytes (out TempInfo[i].DabiaoAwardInfo[j].AwardItemList[k].IsBind, vBytes, NetDataType.BYTE); } } TransBytes (out TempInfo[i].OrderAwardCount, vBytes, NetDataType.BYTE); TempInfo[i].OrderAwardInfo = new tagMCCACTGBillboardOrder[TempInfo[i].OrderAwardCount]; for (int j = 0; j < TempInfo[i].OrderAwardCount; j ++) { TempInfo[i].OrderAwardInfo[j] = new tagMCCACTGBillboardOrder(); TransBytes (out TempInfo[i].OrderAwardInfo[j].OrderA, vBytes, NetDataType.BYTE); TransBytes (out TempInfo[i].OrderAwardInfo[j].OrderB, vBytes, NetDataType.BYTE); TransBytes (out TempInfo[i].OrderAwardInfo[j].NeedRMB, vBytes, NetDataType.DWORD); TransBytes (out TempInfo[i].OrderAwardInfo[j].AwardItemCount, vBytes, NetDataType.BYTE); TempInfo[i].OrderAwardInfo[j].AwardItemList = new tagMCCACTGBillboardAwardItem[TempInfo[i].OrderAwardInfo[j].AwardItemCount]; for (int k = 0; k < TempInfo[i].OrderAwardInfo[j].AwardItemCount; k ++) { TempInfo[i].OrderAwardInfo[j].AwardItemList[k] = new tagMCCACTGBillboardAwardItem(); TransBytes (out TempInfo[i].OrderAwardInfo[j].AwardItemList[k].ItemID, vBytes, NetDataType.DWORD); TransBytes (out TempInfo[i].OrderAwardInfo[j].AwardItemList[k].ItemCount, vBytes, NetDataType.WORD); TransBytes (out TempInfo[i].OrderAwardInfo[j].AwardItemList[k].IsBind, vBytes, NetDataType.BYTE); } } } } public struct tagMCCACTGBillboardTempInfo { public byte TemplateID; // 活动模板ID public byte DabiaoAwardCount; // 达标奖励档数 public tagMCCACTGBillboardDabiao[] DabiaoAwardInfo; // 达标奖励信息 public byte OrderAwardCount; // 排行奖励档数 public tagMCCACTGBillboardOrder[] OrderAwardInfo; // 排行奖励信息 } public struct tagMCCACTGBillboardDabiao { public byte AwardIndex; // 奖励索引 0~31 public uint NeedRMB; // 所需充值RMB public byte AwardItemCount; // 奖励物品数 public tagMCCACTGBillboardAwardItem[] AwardItemList; // 奖励物品信息 } public struct tagMCCACTGBillboardOrder { public byte OrderA; // 名次A public byte OrderB; // 至名次B public uint NeedRMB; // 所需充值RMB,未达标的该名次空,排名后面的玩家向下顺延 public byte AwardItemCount; // 奖励物品数 public tagMCCACTGBillboardAwardItem[] AwardItemList; // 奖励物品信息 } public struct tagMCCACTGBillboardAwardItem { public uint ItemID; public ushort ItemCount; public byte IsBind; // 是否拍品 } }