少年修仙传客户端代码仓库
hch
2025-03-03 28785d6ddf9c08e49527ede9405c7b6c93c6ed32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using UnityEngine;
using System.Collections;
 
// AA 52 转盘活动信息 #tagMCActTurntableInfo
 
public class IL_HAA52_tagMCActTurntableInfo : GameNetPackBasic {
    public byte ActNum;    // 活动编号
    public string StartDate;    // 开始日期 y-m-d
    public string EndtDate;    // 结束日期 y-m-d
    public byte IsDayReset;    // 是否每天重置
    public ushort LimitLV;    // 限制等级
    public byte CTGPrizeCount;
    public  uint[] CTGPrizeList;    // 累计充值额度奖励次数列表 [奖励第1次所需累计充值额度, 第2次, ...]
    public byte UseMoneyType;    // 累计消费货币类型
    public byte UseMoneyPrizeCount;
    public  uint[] UseMoneyPrizeList;    // 累计消费货币奖励次数列表 [奖励第1次所需累计消费货币, 第2次, ...]
    public byte TurnItemCount;
    public  tagMCActTurntableItem[] TurnItemList;    // 转盘已确定的物品列表,包含常规物品+极品物品+终极物品,活动开始时,后端直接随机生成常规物品,已确定的物品不包含极品、终极物品时需要先选择才能使用转盘;
    public byte GoodItemCount;
    public  tagMCActTurntableItem[] GoodItemList;    // 极品物品待选择库,由玩家从库中选择放入转盘的物品;注意此库中的物品编号仅表示在该库中的编号,可能与转盘已确定的物品编号重复,但并不代表同一物品;
    public byte GoodItemCanChooseCount;    // 极品物品可选择个数
    public byte SuperItemCount;
    public  tagMCActTurntableItem[] SuperItemList;    // 终极物品待选择库,由玩家从库中选择放入转盘的物品;注意此库中的物品编号仅表示在该库中的编号,可能与转盘已确定的物品编号重复,但并不代表同一物品;
    public byte SuperItemCanChooseCount;    // 终极物品可选择个数
 
    public IL_HAA52_tagMCActTurntableInfo () {
        _cmd = (ushort)0xAA52;
    }
 
    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 CTGPrizeCount, vBytes, NetDataType.BYTE);
        TransBytes (out CTGPrizeList, vBytes, NetDataType.DWORD, CTGPrizeCount);
        TransBytes (out UseMoneyType, vBytes, NetDataType.BYTE);
        TransBytes (out UseMoneyPrizeCount, vBytes, NetDataType.BYTE);
        TransBytes (out UseMoneyPrizeList, vBytes, NetDataType.DWORD, UseMoneyPrizeCount);
        TransBytes (out TurnItemCount, vBytes, NetDataType.BYTE);
        TurnItemList = new tagMCActTurntableItem[TurnItemCount];
        for (int i = 0; i < TurnItemCount; i ++) {
            TurnItemList[i] = new tagMCActTurntableItem();
            TransBytes (out TurnItemList[i].ItemNum, vBytes, NetDataType.BYTE);
            TransBytes (out TurnItemList[i].ItemLibType, vBytes, NetDataType.BYTE);
            TransBytes (out TurnItemList[i].ItemID, vBytes, NetDataType.DWORD);
            TransBytes (out TurnItemList[i].ItemCount, vBytes, NetDataType.WORD);
        }
        TransBytes (out GoodItemCount, vBytes, NetDataType.BYTE);
        GoodItemList = new tagMCActTurntableItem[GoodItemCount];
        for (int i = 0; i < GoodItemCount; i ++) {
            GoodItemList[i] = new tagMCActTurntableItem();
            TransBytes (out GoodItemList[i].ItemNum, vBytes, NetDataType.BYTE);
            TransBytes (out GoodItemList[i].ItemLibType, vBytes, NetDataType.BYTE);
            TransBytes (out GoodItemList[i].ItemID, vBytes, NetDataType.DWORD);
            TransBytes (out GoodItemList[i].ItemCount, vBytes, NetDataType.WORD);
        }
        TransBytes (out GoodItemCanChooseCount, vBytes, NetDataType.BYTE);
        TransBytes (out SuperItemCount, vBytes, NetDataType.BYTE);
        SuperItemList = new tagMCActTurntableItem[SuperItemCount];
        for (int i = 0; i < SuperItemCount; i ++) {
            SuperItemList[i] = new tagMCActTurntableItem();
            TransBytes (out SuperItemList[i].ItemNum, vBytes, NetDataType.BYTE);
            TransBytes (out SuperItemList[i].ItemLibType, vBytes, NetDataType.BYTE);
            TransBytes (out SuperItemList[i].ItemID, vBytes, NetDataType.DWORD);
            TransBytes (out SuperItemList[i].ItemCount, vBytes, NetDataType.WORD);
        }
        TransBytes (out SuperItemCanChooseCount, vBytes, NetDataType.BYTE);
    }
 
    public struct tagMCActTurntableItem {
        public byte ItemNum;        //物品编号 1~n;注意转盘已确定物品编号 与 极品终极物品待选择库编号可能相同,但并不代表同一物品
        public byte ItemLibType;        //物品库类型;1-常规,2-极品,3-终极
        public uint ItemID;
        public ushort ItemCount;
    }
 
}