scene只能绑定对应的娃娃机编号
This commit is contained in:
parent
88bbca47f1
commit
68a8e010cf
|
@ -35,15 +35,11 @@ func MSDollMachineListHandler(session *netlib.Session, packetId int, data interf
|
|||
}
|
||||
|
||||
// 获取空闲娃娃机标识
|
||||
func GetFreeDollMachineId() int {
|
||||
// 获取互斥锁
|
||||
MachineMapLock.Lock()
|
||||
defer MachineMapLock.Unlock()
|
||||
for i, v := range MachineMap {
|
||||
if v.Status == false {
|
||||
v.Status = true
|
||||
return i
|
||||
}
|
||||
func GetFreeDollMachineId(id int32) int {
|
||||
if MachineMap[int(id)] != nil && MachineMap[int(id)].MachineStatus == 1 {
|
||||
return int(id)
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
|
|
@ -67,7 +67,8 @@ func (this *PolicyClawdoll) OnTick(s *base.Scene) {
|
|||
sceneEx, ok := s.ExtraData.(*SceneEx)
|
||||
if ok {
|
||||
if sceneEx.machineId == 0 {
|
||||
sceneEx.machineId = action.GetFreeDollMachineId()
|
||||
machineId := s.DBGameFree.GetId() % 6080000
|
||||
sceneEx.machineId = action.GetFreeDollMachineId(machineId)
|
||||
}
|
||||
if sceneEx.machineId != 0 {
|
||||
machineStatus := action.GetDollMachineStatus(sceneEx.machineId)
|
||||
|
|
|
@ -169,7 +169,7 @@ func DollMachineGrabResult(session *netlib.Session, conn *machinedoll.Conn, snid
|
|||
num := int64(1)
|
||||
for {
|
||||
// 读取数据
|
||||
logger.Logger.Trace("监听抓取结果返回!")
|
||||
//logger.Logger.Trace("监听抓取结果返回!")
|
||||
buf := make([]byte, 1024)
|
||||
n, err := conn.Read(buf)
|
||||
if err != nil {
|
||||
|
@ -178,7 +178,7 @@ func DollMachineGrabResult(session *netlib.Session, conn *machinedoll.Conn, snid
|
|||
}
|
||||
// 将读取到的数据按照 221 进行分割
|
||||
parts := bytes.Split(buf[:n], []byte{221})
|
||||
fmt.Println("获取到的返回值:", parts)
|
||||
//fmt.Println("获取到的返回值:", parts)
|
||||
instruction := []byte{0xAA, 0x05, 0x02, 0x50, 0x09, 0x00}
|
||||
instruction1 := []byte{0xAA, 0x05, 0x02, 0x50, 0x09, 0x01}
|
||||
// 遍历分割结果,打印出每个部分
|
||||
|
@ -187,11 +187,11 @@ func DollMachineGrabResult(session *netlib.Session, conn *machinedoll.Conn, snid
|
|||
part = part[:len(part)-1] // 去除最后一个字节,该字节为分隔符
|
||||
//fmt.Println("比较返回结果 part = ", part)
|
||||
if bytes.Contains(part, instruction) && num != 1 {
|
||||
fmt.Printf("Part %d: %s\n", i+1, part)
|
||||
//fmt.Printf("Part %d: %s\n", i+1, part)
|
||||
//回应数据
|
||||
_, err = conn.Write([]byte{0xAA, 0x04, 0x01, 0x50, 0x09, 0x5c, 0xdd})
|
||||
if err != nil {
|
||||
fmt.Println("Failed to read response from server:", err)
|
||||
//fmt.Println("Failed to read response from server:", err)
|
||||
return
|
||||
}
|
||||
session.Send(int(machine.DollMachinePacketID_PACKET_MSDollMachineoPerateResult), &machine.MSDollMachineoPerateResult{
|
||||
|
|
Loading…
Reference in New Issue