| | |
| | |
|
| | | class tagMCTuijinbiInfo(Structure):
|
| | | Head = tagHead()
|
| | | DrawType = 0 #(BYTE DrawType)// 本次抽奖奖励类型,为0时表示非抽奖同步;1-金币;2-仙玉币;3-红包;4-超级奖励
|
| | | DrawCount = 0 #(DWORD DrawCount)// 本次抽奖奖励数量
|
| | | DrawNum = 0 #(BYTE DrawNum)// 本次抽中位置,为0时表示非抽奖同步
|
| | | PoolPrizeCnt = 0 #(BYTE PoolPrizeCnt)
|
| | | PoolPrizeList = list() #(vector<tagMCTuijinbiPool> PoolPrizeList)// 台面奖池信息列表,每次都完整通知
|
| | | data = None
|
| | |
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.DrawType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.DrawCount,_pos = CommFunc.ReadDWORD(_lpData, _pos)
|
| | | self.DrawNum,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.PoolPrizeCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.PoolPrizeCnt):
|
| | | temPoolPrizeList = tagMCTuijinbiPool()
|
| | |
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x05
|
| | | self.DrawType = 0
|
| | | self.DrawCount = 0
|
| | | self.DrawNum = 0
|
| | | self.PoolPrizeCnt = 0
|
| | | self.PoolPrizeList = list()
|
| | | return
|
| | |
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 4
|
| | | length += 1
|
| | | for i in range(self.PoolPrizeCnt):
|
| | | length += self.PoolPrizeList[i].GetLength()
|
| | |
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.DrawType)
|
| | | data = CommFunc.WriteDWORD(data, self.DrawCount)
|
| | | data = CommFunc.WriteBYTE(data, self.DrawNum)
|
| | | data = CommFunc.WriteBYTE(data, self.PoolPrizeCnt)
|
| | | for i in range(self.PoolPrizeCnt):
|
| | | data = CommFunc.WriteString(data, self.PoolPrizeList[i].GetLength(), self.PoolPrizeList[i].GetBuffer())
|
| | |
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | DrawType:%d,
|
| | | DrawCount:%d,
|
| | | DrawNum:%d,
|
| | | PoolPrizeCnt:%d,
|
| | | PoolPrizeList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.DrawType,
|
| | | self.DrawCount,
|
| | | self.DrawNum,
|
| | | self.PoolPrizeCnt,
|
| | | "..."
|
| | | )
|