using UnityEngine; using System.Collections; // AA 60 天帝礼包活动信息 #tagMCActGodGiftInfo public class IL_HAA60_tagMCActGodGiftInfo : GameNetPackBasic { public byte ActNum; // 活动编号 public string StartDate; // 开始日期 y-m-d public string EndtDate; // 结束日期 y-m-d public byte IsDayReset; // 是否每日重置 public ushort LimitLV; // 限制等级 public byte CostMoneyType; //消耗货币类型 public byte CostMoneyValueCount; public uint[] CostMoneyValueList; //消耗货币值列表 public byte PrizeMoneyType; //奖励货币类型 public byte PrizeMoneyValueCount; public uint[] PrizeMoneyValueList; //奖励货币值列表 public byte ResetLimitTimes; //至少抽几次才可重置奖池 public byte ResetCountMax; //最大可重置奖池次数 public byte IsAwardPoolOK; //奖池是否选择完毕,否的话需要先选择奖池才可抽奖 public byte ItemLibCount; //奖池库个数 public tagMCActGodGiftItemLib[] ItemLibList; //奖池库信息列表 public IL_HAA60_tagMCActGodGiftInfo () { _cmd = (ushort)0xAA60; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out ActNum, vBytes, NetDataType.BYTE); 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 CostMoneyType, vBytes, NetDataType.BYTE); TransBytes (out CostMoneyValueCount, vBytes, NetDataType.BYTE); TransBytes (out CostMoneyValueList, vBytes, NetDataType.DWORD, CostMoneyValueCount); TransBytes (out PrizeMoneyType, vBytes, NetDataType.BYTE); TransBytes (out PrizeMoneyValueCount, vBytes, NetDataType.BYTE); TransBytes (out PrizeMoneyValueList, vBytes, NetDataType.DWORD, PrizeMoneyValueCount); TransBytes (out ResetLimitTimes, vBytes, NetDataType.BYTE); TransBytes (out ResetCountMax, vBytes, NetDataType.BYTE); TransBytes (out IsAwardPoolOK, vBytes, NetDataType.BYTE); TransBytes (out ItemLibCount, vBytes, NetDataType.BYTE); ItemLibList = new tagMCActGodGiftItemLib[ItemLibCount]; for (int i = 0; i < ItemLibCount; i ++) { ItemLibList[i] = new tagMCActGodGiftItemLib(); TransBytes (out ItemLibList[i].ItemLibType, vBytes, NetDataType.BYTE); TransBytes (out ItemLibList[i].NeedChooseCount, vBytes, NetDataType.BYTE); TransBytes (out ItemLibList[i].GodGiftItemCount, vBytes, NetDataType.BYTE); ItemLibList[i].GodGiftItemList = new tagMCActGodGiftItem[ItemLibList[i].GodGiftItemCount]; for (int j = 0; j < ItemLibList[i].GodGiftItemCount; j ++) { ItemLibList[i].GodGiftItemList[j] = new tagMCActGodGiftItem(); TransBytes (out ItemLibList[i].GodGiftItemList[j].ItemNum, vBytes, NetDataType.BYTE); TransBytes (out ItemLibList[i].GodGiftItemList[j].ItemID, vBytes, NetDataType.DWORD); TransBytes (out ItemLibList[i].GodGiftItemList[j].ItemCount, vBytes, NetDataType.WORD); TransBytes (out ItemLibList[i].GodGiftItemList[j].IsBind, vBytes, NetDataType.BYTE); TransBytes (out ItemLibList[i].GodGiftItemList[j].CanChooseTimes, vBytes, NetDataType.BYTE); TransBytes (out ItemLibList[i].GodGiftItemList[j].ChooseTimes, vBytes, NetDataType.BYTE); TransBytes (out ItemLibList[i].GodGiftItemList[j].IsChoose, vBytes, NetDataType.BYTE); } } } public struct tagMCActGodGiftItemLib { public byte ItemLibType; //物品库类型 public byte NeedChooseCount; //需要选择个数 public byte GodGiftItemCount; //可选择物品个数 public tagMCActGodGiftItem[] GodGiftItemList; //可选物品列表 } public struct tagMCActGodGiftItem { public byte ItemNum; // 物品在本库中的编号 public uint ItemID; public ushort ItemCount; public byte IsBind; public byte CanChooseTimes; //可选择次数,0代表不限次数 public byte ChooseTimes; //已选次数 public byte IsChoose; //本次奖池是否被选择 } }