娃娃机主机实现
This commit is contained in:
parent
b885612d1f
commit
d232592524
|
@ -6,12 +6,11 @@ import (
|
||||||
"mongo.games.com/goserver/core/netlib"
|
"mongo.games.com/goserver/core/netlib"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestHandler(session *netlib.Session, packetId int, data interface{}) error {
|
func MSDollMachineList(session *netlib.Session, packetId int, data interface{}) error {
|
||||||
logger.Logger.Tracef("TestHandler %v", data)
|
logger.Logger.Tracef("TestHandler %v", data)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
// 修改皮肤
|
netlib.Register(int(machine.DollMachinePacketID_PACKET_MSDollMachineList), &machine.MSDollMachineList{}, MSDollMachineList)
|
||||||
netlib.Register(int(machine.PacketID_Test), &machine.SCTest{}, TestHandler)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
package base
|
package base
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"mongo.games.com/game/common"
|
"mongo.games.com/game/common"
|
||||||
"mongo.games.com/game/protocol/machine"
|
"mongo.games.com/game/protocol/machine"
|
||||||
"mongo.games.com/goserver/core/logger"
|
"mongo.games.com/goserver/core/logger"
|
||||||
"mongo.games.com/goserver/core/netlib"
|
"mongo.games.com/goserver/core/netlib"
|
||||||
"mongo.games.com/goserver/core/timer"
|
|
||||||
"mongo.games.com/goserver/srvlib"
|
"mongo.games.com/goserver/srvlib"
|
||||||
"mongo.games.com/goserver/srvlib/protocol"
|
"mongo.games.com/goserver/srvlib/protocol"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var SrvSessMgrSington = &SrvSessMgr{}
|
var SrvSessMgrSington = &SrvSessMgr{}
|
||||||
|
@ -32,12 +31,8 @@ func (this *SrvSessMgr) OnRegiste(s *netlib.Session) {
|
||||||
NpcServerAgentSingleton.OnConnected()
|
NpcServerAgentSingleton.OnConnected()
|
||||||
} else if srvInfo.GetType() == 10 {
|
} else if srvInfo.GetType() == 10 {
|
||||||
logger.Logger.Warn("(this *SrvSessMgr) OnRegiste (Machine):", s)
|
logger.Logger.Warn("(this *SrvSessMgr) OnRegiste (Machine):", s)
|
||||||
timer.StartTimer(timer.TimerActionWrapper(func(h timer.TimerHandle, ud interface{}) bool {
|
s.Send(int(machine.DollMachinePacketID_PACKET_SMGameLinkSucceed), &machine.SMGameLinkSucceed{})
|
||||||
s.Send(int(machine.PacketID_Test), &machine.CSTest{
|
fmt.Printf("与娃娃机服务器连接成功\n")
|
||||||
Ts: time.Now().Unix(),
|
|
||||||
})
|
|
||||||
return true
|
|
||||||
}), nil, 3*time.Second, 100)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package machine
|
||||||
|
|
||||||
|
import (
|
||||||
|
"mongo.games.com/game/protocol/machine"
|
||||||
|
"mongo.games.com/goserver/core/netlib"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
netlib.Register(int(machine.DollMachinePacketID_PACKET_MSDollMachineList), &machine.MSDollMachineList{}, MSDollMachineList)
|
||||||
|
}
|
|
@ -1,26 +1,103 @@
|
||||||
package action
|
package action
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"mongo.games.com/game/machine/machinedoll"
|
||||||
"mongo.games.com/game/protocol/machine"
|
"mongo.games.com/game/protocol/machine"
|
||||||
"mongo.games.com/goserver/core/logger"
|
"mongo.games.com/goserver/core/logger"
|
||||||
"mongo.games.com/goserver/core/netlib"
|
"mongo.games.com/goserver/core/netlib"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestHandler(session *netlib.Session, packetId int, data interface{}) error {
|
// 移动
|
||||||
logger.Logger.Tracef("TestHandler %v", data)
|
func SMDollMachinePerateHandler(session *netlib.Session, packetId int, data interface{}) error {
|
||||||
msg, ok := data.(*machine.CSTest)
|
msg, ok := data.(*machine.SMDollMachineoPerate)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
session.Send(int(machine.PacketID_Test), &machine.SCTest{
|
conn := machinedoll.ConnMap[int(msg.Id)]
|
||||||
Ts: time.Now().Unix(),
|
if conn == nil {
|
||||||
})
|
return nil
|
||||||
logger.Logger.Tracef("PacketID_Test: %v", msg)
|
}
|
||||||
|
if msg.Perate == 1 {
|
||||||
|
//向前移动
|
||||||
|
machinedoll.Backward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
machinedoll.BackwardStop(conn)
|
||||||
|
} else if msg.Perate == 2 {
|
||||||
|
//向后移动
|
||||||
|
machinedoll.Forward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
machinedoll.ForwardStop(conn)
|
||||||
|
} else if msg.Perate == 3 {
|
||||||
|
//向左移动
|
||||||
|
machinedoll.Left(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
machinedoll.LeftStop(conn)
|
||||||
|
} else if msg.Perate == 4 {
|
||||||
|
//向右移动
|
||||||
|
machinedoll.Right(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
machinedoll.RightStop(conn)
|
||||||
|
} else if msg.Perate == 5 {
|
||||||
|
//投币
|
||||||
|
machinedoll.Coin(conn)
|
||||||
|
machinedoll.Backward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
machinedoll.BackwardStop(conn)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
// 下抓
|
||||||
// 修改皮肤
|
func SMDollMachineGrabHandler(session *netlib.Session, packetId int, data interface{}) error {
|
||||||
netlib.Register(int(machine.PacketID_Test), &machine.CSTest{}, TestHandler)
|
msg, ok := data.(*machine.SMDollMachineGrab)
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
conn := machinedoll.ConnMap[int(msg.Id)]
|
||||||
|
if conn == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
typeId := msg.TypeId
|
||||||
|
if typeId == 1 {
|
||||||
|
//弱抓
|
||||||
|
machinedoll.WeakGrab(conn)
|
||||||
|
} else if typeId == 2 {
|
||||||
|
//强力抓
|
||||||
|
machinedoll.Grab(conn)
|
||||||
|
} else if typeId == 3 {
|
||||||
|
//必中抓
|
||||||
|
machinedoll.Grab(conn)
|
||||||
|
}
|
||||||
|
//返回消息
|
||||||
|
session.Send(int(machine.DollMachinePacketID_PACKET_SMDollMachineGrab), &machine.MSDollMachineGrab{
|
||||||
|
Snid: msg.Snid,
|
||||||
|
Id: msg.GetId(),
|
||||||
|
Result: 1,
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 与游戏服务器连接成功,向游戏服务器推送所有娃娃机连接
|
||||||
|
func SMGameLinkSucceedHandler(session *netlib.Session, packetId int, data interface{}) error {
|
||||||
|
logger.Logger.Trace("与游戏服务器连接成功!!\n")
|
||||||
|
fmt.Printf("与游戏服务器连接成功!!\n")
|
||||||
|
//开始向游戏服务器发送娃娃机连接信息
|
||||||
|
msg := &machine.MSDollMachineList{}
|
||||||
|
for i, _ := range machinedoll.ConnMap {
|
||||||
|
info := &machine.DollMachine{}
|
||||||
|
info.Id = int32(i)
|
||||||
|
info.VideoAddr = "www.baidu.com"
|
||||||
|
msg.Data = append(msg.Data, info)
|
||||||
|
}
|
||||||
|
session.Send(int(machine.DollMachinePacketID_PACKET_MSDollMachineList), msg)
|
||||||
|
fmt.Printf("开始向游戏服务器发送娃娃机连接信息!\n")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
netlib.Register(int(machine.DollMachinePacketID_PACKET_SMDollMachinePerate), &machine.SMDollMachineoPerate{}, SMDollMachinePerateHandler)
|
||||||
|
netlib.Register(int(machine.DollMachinePacketID_PACKET_SMDollMachineGrab), &machine.SMDollMachineGrab{}, SMDollMachineGrabHandler)
|
||||||
|
//链接成功 返回消息
|
||||||
|
netlib.Register(int(machine.DollMachinePacketID_PACKET_SMGameLinkSucceed), &machine.SMGameLinkSucceed{}, SMGameLinkSucceedHandler)
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[
|
||||||
|
"192.168.31.221:8800"
|
||||||
|
]
|
|
@ -0,0 +1,374 @@
|
||||||
|
package machinedoll
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"net"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 向前aa 05 01 50 01 01 54 dd
|
||||||
|
func Forward(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x01, 0x01}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向前停止aa 05 01 50 01 00 55 dd
|
||||||
|
func ForwardStop(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x01, 0x00}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向后
|
||||||
|
// aa 05 01 50 02 01 57 dd
|
||||||
|
func Backward(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x02, 0x01}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向后停止aa 05 01 50 02 00 56 dd
|
||||||
|
func BackwardStop(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x02, 0x00}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向左aa 05 01 50 03 01 56 dd
|
||||||
|
func Left(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x03, 0x01}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向左停止aa 05 01 50 03 00 57 dd
|
||||||
|
func LeftStop(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x03, 0x00}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向右
|
||||||
|
func Right(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x04, 0x01}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 向右停止aa 05 01 50 04 00 50 dd
|
||||||
|
func RightStop(conn net.Conn) {
|
||||||
|
instruction := []byte{0xaa, 0x05, 0x01, 0x50, 0x04, 0x00}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 强抓下抓
|
||||||
|
func Grab(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x05, 0x01, 0x50, 0x06, 0x01}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 弱抓aa 05 01 50 06 00 52 dd
|
||||||
|
func WeakGrab(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x05, 0x01, 0x50, 0x06, 0x00}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 投币
|
||||||
|
func Coin(conn net.Conn) {
|
||||||
|
moveCommand := []byte{0xaa, 0x08, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00}
|
||||||
|
moveCommand = calculateChecksum(moveCommand)
|
||||||
|
// 发送指令到服务端
|
||||||
|
_, err := conn.Write(moveCommand)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if buf[4] == 1 {
|
||||||
|
fmt.Println("上分成功!!!!n = ", n)
|
||||||
|
}
|
||||||
|
if buf[4] == 0 {
|
||||||
|
fmt.Println("上分失败!!!")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 剩余局数清零
|
||||||
|
func ClearRemainingGames(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x03, 0x01, 0x32}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("n", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算校验码
|
||||||
|
func calculateChecksum(data []byte) []byte {
|
||||||
|
var value = byte(0)
|
||||||
|
for i, datum := range data {
|
||||||
|
if i > 0 {
|
||||||
|
value ^= datum
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("校验码 value = ", value)
|
||||||
|
data = append(data, value, 0xdd)
|
||||||
|
return data
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开启音乐
|
||||||
|
func OpenMusic(conn net.Conn) {
|
||||||
|
data[43] = 0x01
|
||||||
|
instruction := []byte{0xAA, 0x33, 0x01, 0x06}
|
||||||
|
instruction = append(instruction, data...)
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("n", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭音乐
|
||||||
|
func CloseMusic(conn net.Conn) {
|
||||||
|
data[43] = 0x00
|
||||||
|
instruction := []byte{0xAA, 0x33, 0x01, 0x06}
|
||||||
|
instruction = append(instruction, data...)
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("n", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 恢复出厂设置
|
||||||
|
func RestoreFactorySettings(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x03, 0x01, 0x38}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("n", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重启主板
|
||||||
|
func Reboot(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x03, 0x01, 0x39}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("n", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 暂停服务
|
||||||
|
func StopServer(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x03, 0x01, 0x37}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开启服务
|
||||||
|
func StartServer(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x03, 0x01, 0x36}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询基础参数
|
||||||
|
func queryBaseParam(conn net.Conn) {
|
||||||
|
instruction := []byte{0xAA, 0x03, 0x01, 0x05}
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("n", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置强力
|
||||||
|
func SetPower(conn net.Conn) {
|
||||||
|
data[3] = 0x00
|
||||||
|
data[16] = 0x01
|
||||||
|
data[17] = 0xE0
|
||||||
|
data[18] = 0x13
|
||||||
|
data[19] = 0x88
|
||||||
|
fmt.Println("data.len = ", len(data))
|
||||||
|
instruction := []byte{0xAA, 0x33, 0x01, 0x06}
|
||||||
|
instruction = append(instruction, data...)
|
||||||
|
instruction = calculateChecksum(instruction)
|
||||||
|
_, err := conn.Write(instruction)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send command to server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 读取服务端的响应
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, err := conn.Read(buf)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to read response from server:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Println("n", n)
|
||||||
|
}
|
||||||
|
|
||||||
|
var data = []byte{
|
||||||
|
0x65,
|
||||||
|
0x00,
|
||||||
|
0x0F,
|
||||||
|
0x02,
|
||||||
|
0x0F,
|
||||||
|
0x00,
|
||||||
|
0x01,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x01,
|
||||||
|
0xC8,
|
||||||
|
0x00,
|
||||||
|
0x7C,
|
||||||
|
0x01,
|
||||||
|
0x5A,
|
||||||
|
0x00,
|
||||||
|
0xE0,
|
||||||
|
0x01,
|
||||||
|
0xC8,
|
||||||
|
0x00,
|
||||||
|
0x14,
|
||||||
|
0x32,
|
||||||
|
0x32,
|
||||||
|
0x50,
|
||||||
|
0x34,
|
||||||
|
0x08,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x78,
|
||||||
|
0x00,
|
||||||
|
0x32,
|
||||||
|
0x02,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0xC8,
|
||||||
|
0x00,
|
||||||
|
0x96,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x0F,
|
||||||
|
0x07,
|
||||||
|
0x08,
|
||||||
|
0x00,
|
||||||
|
}
|
|
@ -0,0 +1,257 @@
|
||||||
|
package machinedoll
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"mongo.games.com/goserver/core/timer"
|
||||||
|
"os/signal"
|
||||||
|
"syscall"
|
||||||
|
|
||||||
|
"mongo.games.com/game/protocol/machine"
|
||||||
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
"mongo.games.com/goserver/core/netlib"
|
||||||
|
"mongo.games.com/goserver/srvlib"
|
||||||
|
"net"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
var GameConn *netlib.Session
|
||||||
|
var ConnMap = make(map[int]net.Conn)
|
||||||
|
|
||||||
|
type MachineManager struct {
|
||||||
|
DelConnMap map[int]string
|
||||||
|
}
|
||||||
|
|
||||||
|
var MachineMgr = &MachineManager{
|
||||||
|
DelConnMap: make(map[int]string),
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MachineManager) ModuleName() string {
|
||||||
|
return "MachineManager"
|
||||||
|
}
|
||||||
|
|
||||||
|
// 心跳间隔时间(秒)
|
||||||
|
const heartbeatInterval = 1
|
||||||
|
|
||||||
|
func (this *MachineManager) Init() {
|
||||||
|
var serverAddrs []string
|
||||||
|
// 获取程序所在的绝对路径
|
||||||
|
programDir, err := os.Getwd()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Error getting working directory:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建配置文件的绝对路径
|
||||||
|
configFile := filepath.Join(programDir, "machineIPConfig.json")
|
||||||
|
|
||||||
|
fileData, err := os.ReadFile(configFile)
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Error("Read robot account file error:", err)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
if err = json.Unmarshal(fileData, &serverAddrs); err != nil {
|
||||||
|
logger.Logger.Error("Unmarshal robot account data error:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//与娃娃机创建连接
|
||||||
|
// 遍历每个服务器地址,建立连接
|
||||||
|
for i, addr := range serverAddrs {
|
||||||
|
conn, err := net.DialTimeout("tcp", addr, 5*time.Second)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to connect to server:", err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ConnMap[i+1] = conn
|
||||||
|
go this.StartHeartbeat(i+1, &conn, addr)
|
||||||
|
}
|
||||||
|
fmt.Println("Connected to server:\n", ConnMap[1].RemoteAddr())
|
||||||
|
fmt.Println("投币请按Q!!!!")
|
||||||
|
fmt.Println("w向前s向后a向左d向右 j强力抓取k弱力抓取!")
|
||||||
|
// 监听 WASD 按键事件
|
||||||
|
//go listenKeyboardEvents(ConnMap[1])
|
||||||
|
|
||||||
|
// 监听中断信号,等待用户退出
|
||||||
|
//waitForUserExit()
|
||||||
|
}
|
||||||
|
func (this *MachineManager) StartHeartbeat(id int, conn *net.Conn, addr string) {
|
||||||
|
// 定期发送心跳包
|
||||||
|
ticker := time.NewTicker(heartbeatInterval * time.Second)
|
||||||
|
defer ticker.Stop()
|
||||||
|
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-ticker.C:
|
||||||
|
// 发送心跳包
|
||||||
|
_, err := (*conn).Write([]byte("heartbeat"))
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Failed to send heartbeat:", err)
|
||||||
|
delete(ConnMap, id)
|
||||||
|
this.DelConnMap[id] = addr
|
||||||
|
//通知游戏服
|
||||||
|
this.UpdateToGameServer()
|
||||||
|
fmt.Println("删除链接!!!!!!addr = ", addr)
|
||||||
|
go timer.StartTimer(timer.TimerActionWrapper(func(h timer.TimerHandle, ud interface{}) bool {
|
||||||
|
this.ReConnect()
|
||||||
|
return true
|
||||||
|
}), nil, time.Duration(5)*time.Second, 100)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重连
|
||||||
|
func (this *MachineManager) ReConnect() bool {
|
||||||
|
fmt.Println("================重连============")
|
||||||
|
delIds := []int{}
|
||||||
|
status := false
|
||||||
|
for id, addr := range this.DelConnMap {
|
||||||
|
conn, err := net.DialTimeout("tcp", addr, 5*time.Second)
|
||||||
|
if err != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ConnMap[id] = conn
|
||||||
|
delIds = append(delIds, id)
|
||||||
|
status = true
|
||||||
|
}
|
||||||
|
for _, id := range delIds {
|
||||||
|
delete(this.DelConnMap, id)
|
||||||
|
fmt.Println("重新链接成功!!!!!!id = ", id)
|
||||||
|
}
|
||||||
|
if status {
|
||||||
|
this.UpdateToGameServer()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *MachineManager) UpdateToGameServer() {
|
||||||
|
msg := &machine.MSDollMachineList{}
|
||||||
|
for i, _ := range ConnMap {
|
||||||
|
info := &machine.DollMachine{}
|
||||||
|
info.Id = int32(i)
|
||||||
|
info.VideoAddr = "www.baidu.com"
|
||||||
|
msg.Data = append(msg.Data, info)
|
||||||
|
}
|
||||||
|
SendToGameServer(int(machine.DollMachinePacketID_PACKET_MSDollMachineList), msg)
|
||||||
|
}
|
||||||
|
|
||||||
|
func SendToGameServer(pid int, msg interface{}) {
|
||||||
|
if GameConn == nil {
|
||||||
|
GameConn = srvlib.ServerSessionMgrSington.GetSession(1, 7, 701)
|
||||||
|
}
|
||||||
|
if GameConn != nil {
|
||||||
|
GameConn.Send(pid, msg)
|
||||||
|
} else {
|
||||||
|
logger.Logger.Error("GameConn is nil !")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
MachineMgr.Init()
|
||||||
|
}
|
||||||
|
|
||||||
|
func listenKeyboardEvents(conn net.Conn) {
|
||||||
|
for {
|
||||||
|
// 读取键盘事件
|
||||||
|
key := readKeyboardEvent()
|
||||||
|
switch key {
|
||||||
|
case "w":
|
||||||
|
Backward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
BackwardStop(conn)
|
||||||
|
case "W":
|
||||||
|
Backward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
BackwardStop(conn)
|
||||||
|
case "a":
|
||||||
|
Left(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
LeftStop(conn)
|
||||||
|
case "A":
|
||||||
|
Left(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
LeftStop(conn)
|
||||||
|
case "s":
|
||||||
|
Forward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
ForwardStop(conn)
|
||||||
|
case "S":
|
||||||
|
Forward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
ForwardStop(conn)
|
||||||
|
case "d":
|
||||||
|
Right(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
RightStop(conn)
|
||||||
|
case "D":
|
||||||
|
Right(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
RightStop(conn)
|
||||||
|
case "j":
|
||||||
|
Grab(conn)
|
||||||
|
case "J":
|
||||||
|
Grab(conn)
|
||||||
|
|
||||||
|
case "k":
|
||||||
|
WeakGrab(conn)
|
||||||
|
case "K":
|
||||||
|
WeakGrab(conn)
|
||||||
|
|
||||||
|
case "q":
|
||||||
|
Coin(conn)
|
||||||
|
Backward(conn)
|
||||||
|
time.Sleep(200 * time.Millisecond)
|
||||||
|
BackwardStop(conn)
|
||||||
|
case "Q":
|
||||||
|
Coin(conn)
|
||||||
|
|
||||||
|
Backward(conn)
|
||||||
|
time.Sleep(150 * time.Millisecond)
|
||||||
|
BackwardStop(conn)
|
||||||
|
case "1":
|
||||||
|
RestoreFactorySettings(conn)
|
||||||
|
case "2":
|
||||||
|
OpenMusic(conn)
|
||||||
|
case "3":
|
||||||
|
Reboot(conn)
|
||||||
|
case "4":
|
||||||
|
StopServer(conn)
|
||||||
|
case "5":
|
||||||
|
StartServer(conn)
|
||||||
|
case "6":
|
||||||
|
ClearRemainingGames(conn)
|
||||||
|
case "7":
|
||||||
|
SetPower(conn)
|
||||||
|
case "8":
|
||||||
|
CloseMusic(conn)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func readKeyboardEvent() string {
|
||||||
|
var b [1]byte
|
||||||
|
var done uint32
|
||||||
|
err := syscall.ReadFile(syscall.Stdin, b[:], &done, nil)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return string(b[:])
|
||||||
|
}
|
||||||
|
|
||||||
|
func waitForUserExit() {
|
||||||
|
// 创建一个信号通道
|
||||||
|
signalChan := make(chan os.Signal, 1)
|
||||||
|
|
||||||
|
// 监听中断信号
|
||||||
|
signal.Notify(signalChan, os.Interrupt)
|
||||||
|
|
||||||
|
// 等待用户按下 Ctrl+C 退出
|
||||||
|
<-signalChan
|
||||||
|
fmt.Println("退出程序...")
|
||||||
|
}
|
|
@ -1,17 +1,15 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"mongo.games.com/goserver/core"
|
|
||||||
"mongo.games.com/goserver/core/module"
|
|
||||||
|
|
||||||
_ "mongo.games.com/game"
|
_ "mongo.games.com/game"
|
||||||
_ "mongo.games.com/game/machine/action"
|
_ "mongo.games.com/game/machine/action"
|
||||||
|
"mongo.games.com/goserver/core"
|
||||||
|
"mongo.games.com/goserver/core/module"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
defer core.ClosePackages()
|
defer core.ClosePackages()
|
||||||
core.LoadPackages("config.json")
|
core.LoadPackages("config.json")
|
||||||
|
|
||||||
w := module.Start()
|
w := module.Start()
|
||||||
w.Wait("main()")
|
w.Wait("main()")
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,594 @@
|
||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// protoc-gen-go v1.27.1-devel
|
||||||
|
// protoc v3.19.4
|
||||||
|
// source: machine.proto
|
||||||
|
|
||||||
|
package machine
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
// Verify that this generated code is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||||
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||||
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
|
)
|
||||||
|
|
||||||
|
//娃娃机协议
|
||||||
|
type DollMachinePacketID int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
DollMachinePacketID_PACKET_SMDollMachineZero DollMachinePacketID = 0
|
||||||
|
DollMachinePacketID_PACKET_SMGameLinkSucceed DollMachinePacketID = 20000
|
||||||
|
DollMachinePacketID_PACKET_SMDollMachinePerate DollMachinePacketID = 20001
|
||||||
|
DollMachinePacketID_PACKET_SMDollMachineGrab DollMachinePacketID = 20002
|
||||||
|
DollMachinePacketID_PACKET_MSDollMachineGrab DollMachinePacketID = 20003
|
||||||
|
DollMachinePacketID_PACKET_MSDollMachineList DollMachinePacketID = 20004
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum value maps for DollMachinePacketID.
|
||||||
|
var (
|
||||||
|
DollMachinePacketID_name = map[int32]string{
|
||||||
|
0: "PACKET_SMDollMachineZero",
|
||||||
|
20000: "PACKET_SMGameLinkSucceed",
|
||||||
|
20001: "PACKET_SMDollMachinePerate",
|
||||||
|
20002: "PACKET_SMDollMachineGrab",
|
||||||
|
20003: "PACKET_MSDollMachineGrab",
|
||||||
|
20004: "PACKET_MSDollMachineList",
|
||||||
|
}
|
||||||
|
DollMachinePacketID_value = map[string]int32{
|
||||||
|
"PACKET_SMDollMachineZero": 0,
|
||||||
|
"PACKET_SMGameLinkSucceed": 20000,
|
||||||
|
"PACKET_SMDollMachinePerate": 20001,
|
||||||
|
"PACKET_SMDollMachineGrab": 20002,
|
||||||
|
"PACKET_MSDollMachineGrab": 20003,
|
||||||
|
"PACKET_MSDollMachineList": 20004,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func (x DollMachinePacketID) Enum() *DollMachinePacketID {
|
||||||
|
p := new(DollMachinePacketID)
|
||||||
|
*p = x
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x DollMachinePacketID) String() string {
|
||||||
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (DollMachinePacketID) Descriptor() protoreflect.EnumDescriptor {
|
||||||
|
return file_machine_proto_enumTypes[0].Descriptor()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (DollMachinePacketID) Type() protoreflect.EnumType {
|
||||||
|
return &file_machine_proto_enumTypes[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x DollMachinePacketID) Number() protoreflect.EnumNumber {
|
||||||
|
return protoreflect.EnumNumber(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use DollMachinePacketID.Descriptor instead.
|
||||||
|
func (DollMachinePacketID) EnumDescriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
//通知链接成功
|
||||||
|
type SMGameLinkSucceed struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMGameLinkSucceed) Reset() {
|
||||||
|
*x = SMGameLinkSucceed{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMGameLinkSucceed) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*SMGameLinkSucceed) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *SMGameLinkSucceed) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use SMGameLinkSucceed.ProtoReflect.Descriptor instead.
|
||||||
|
func (*SMGameLinkSucceed) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
//操作
|
||||||
|
type SMDollMachineoPerate struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
|
||||||
|
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //娃娃机标识
|
||||||
|
Perate int32 `protobuf:"varint,3,opt,name=Perate,proto3" json:"Perate,omitempty"` // 1-前 2-后 3-左 4-右 5-投币
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) Reset() {
|
||||||
|
*x = SMDollMachineoPerate{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[1]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*SMDollMachineoPerate) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[1]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use SMDollMachineoPerate.ProtoReflect.Descriptor instead.
|
||||||
|
func (*SMDollMachineoPerate) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) GetSnid() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Snid
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) GetPerate() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Perate
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//下抓
|
||||||
|
type SMDollMachineGrab struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1-弱力抓 2 -强力抓 3-必出抓
|
||||||
|
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //娃娃机标识
|
||||||
|
Snid int32 `protobuf:"varint,3,opt,name=Snid,proto3" json:"Snid,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) Reset() {
|
||||||
|
*x = SMDollMachineGrab{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*SMDollMachineGrab) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use SMDollMachineGrab.ProtoReflect.Descriptor instead.
|
||||||
|
func (*SMDollMachineGrab) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) GetTypeId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.TypeId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) GetSnid() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Snid
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回下抓结果
|
||||||
|
type MSDollMachineGrab struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
|
||||||
|
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //娃娃机标识
|
||||||
|
Result int32 `protobuf:"varint,3,opt,name=Result,proto3" json:"Result,omitempty"` //1-中奖 其他未中奖
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) Reset() {
|
||||||
|
*x = MSDollMachineGrab{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*MSDollMachineGrab) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use MSDollMachineGrab.ProtoReflect.Descriptor instead.
|
||||||
|
func (*MSDollMachineGrab) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{3}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) GetSnid() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Snid
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) GetResult() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Result
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回所有娃娃机连接
|
||||||
|
type MSDollMachineList struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Data []*DollMachine `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) Reset() {
|
||||||
|
*x = MSDollMachineList{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[4]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*MSDollMachineList) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[4]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use MSDollMachineList.ProtoReflect.Descriptor instead.
|
||||||
|
func (*MSDollMachineList) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{4}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) GetData() []*DollMachine {
|
||||||
|
if x != nil {
|
||||||
|
return x.Data
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type DollMachine struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
|
||||||
|
VideoAddr string `protobuf:"bytes,2,opt,name=VideoAddr,proto3" json:"VideoAddr,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) Reset() {
|
||||||
|
*x = DollMachine{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*DollMachine) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *DollMachine) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[5]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use DollMachine.ProtoReflect.Descriptor instead.
|
||||||
|
func (*DollMachine) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{5}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) GetVideoAddr() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.VideoAddr
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
var File_machine_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_machine_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||||
|
0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x4d, 0x47, 0x61,
|
||||||
|
0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x22, 0x52, 0x0a,
|
||||||
|
0x14, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x6f, 0x50,
|
||||||
|
0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||||
|
0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18,
|
||||||
|
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x65, 0x72,
|
||||||
|
0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x65, 0x72, 0x61, 0x74,
|
||||||
|
0x65, 0x22, 0x4f, 0x0a, 0x11, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69,
|
||||||
|
0x6e, 0x65, 0x47, 0x72, 0x61, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x0e,
|
||||||
|
0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12,
|
||||||
|
0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e,
|
||||||
|
0x69, 0x64, 0x22, 0x4f, 0x0a, 0x11, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68,
|
||||||
|
0x69, 0x6e, 0x65, 0x47, 0x72, 0x61, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49,
|
||||||
|
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52,
|
||||||
|
0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x65, 0x73,
|
||||||
|
0x75, 0x6c, 0x74, 0x22, 0x3d, 0x0a, 0x11, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63,
|
||||||
|
0x68, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||||
|
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
|
||||||
|
0x2e, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x64, 0x61,
|
||||||
|
0x74, 0x61, 0x22, 0x3b, 0x0a, 0x0b, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e,
|
||||||
|
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49,
|
||||||
|
0x64, 0x12, 0x1c, 0x0a, 0x09, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x2a,
|
||||||
|
0xd5, 0x01, 0x0a, 0x13, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50,
|
||||||
|
0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5a,
|
||||||
|
0x65, 0x72, 0x6f, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||||
|
0x53, 0x4d, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65,
|
||||||
|
0x64, 0x10, 0xa0, 0x9c, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||||
|
0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72,
|
||||||
|
0x61, 0x74, 0x65, 0x10, 0xa1, 0x9c, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x47,
|
||||||
|
0x72, 0x61, 0x62, 0x10, 0xa2, 0x9c, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x47,
|
||||||
|
0x72, 0x61, 0x62, 0x10, 0xa3, 0x9c, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4c,
|
||||||
|
0x69, 0x73, 0x74, 0x10, 0xa4, 0x9c, 0x01, 0x42, 0x27, 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f,
|
||||||
|
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
|
||||||
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_machine_proto_rawDescOnce sync.Once
|
||||||
|
file_machine_proto_rawDescData = file_machine_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_machine_proto_rawDescGZIP() []byte {
|
||||||
|
file_machine_proto_rawDescOnce.Do(func() {
|
||||||
|
file_machine_proto_rawDescData = protoimpl.X.CompressGZIP(file_machine_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_machine_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_machine_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||||
|
var file_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||||
|
var file_machine_proto_goTypes = []interface{}{
|
||||||
|
(DollMachinePacketID)(0), // 0: machine.DollMachinePacketID
|
||||||
|
(*SMGameLinkSucceed)(nil), // 1: machine.SMGameLinkSucceed
|
||||||
|
(*SMDollMachineoPerate)(nil), // 2: machine.SMDollMachineoPerate
|
||||||
|
(*SMDollMachineGrab)(nil), // 3: machine.SMDollMachineGrab
|
||||||
|
(*MSDollMachineGrab)(nil), // 4: machine.MSDollMachineGrab
|
||||||
|
(*MSDollMachineList)(nil), // 5: machine.MSDollMachineList
|
||||||
|
(*DollMachine)(nil), // 6: machine.DollMachine
|
||||||
|
}
|
||||||
|
var file_machine_proto_depIdxs = []int32{
|
||||||
|
6, // 0: machine.MSDollMachineList.data:type_name -> machine.DollMachine
|
||||||
|
1, // [1:1] is the sub-list for method output_type
|
||||||
|
1, // [1:1] is the sub-list for method input_type
|
||||||
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
|
0, // [0:1] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_machine_proto_init() }
|
||||||
|
func file_machine_proto_init() {
|
||||||
|
if File_machine_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_machine_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*SMGameLinkSucceed); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*SMDollMachineoPerate); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*SMDollMachineGrab); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*MSDollMachineGrab); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*MSDollMachineList); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*DollMachine); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_machine_proto_rawDesc,
|
||||||
|
NumEnums: 1,
|
||||||
|
NumMessages: 6,
|
||||||
|
NumExtensions: 0,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_machine_proto_goTypes,
|
||||||
|
DependencyIndexes: file_machine_proto_depIdxs,
|
||||||
|
EnumInfos: file_machine_proto_enumTypes,
|
||||||
|
MessageInfos: file_machine_proto_msgTypes,
|
||||||
|
}.Build()
|
||||||
|
File_machine_proto = out.File
|
||||||
|
file_machine_proto_rawDesc = nil
|
||||||
|
file_machine_proto_goTypes = nil
|
||||||
|
file_machine_proto_depIdxs = nil
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
syntax = "proto3";
|
||||||
|
package machine;
|
||||||
|
option go_package = "mongo.games.com/game/protocol/machine";
|
||||||
|
|
||||||
|
//S-GAME M-娃娃机主机
|
||||||
|
|
||||||
|
//娃娃机协议
|
||||||
|
enum DollMachinePacketID {
|
||||||
|
PACKET_SMDollMachineZero = 0;
|
||||||
|
PACKET_SMGameLinkSucceed = 20000;
|
||||||
|
PACKET_SMDollMachinePerate = 20001;
|
||||||
|
PACKET_SMDollMachineGrab = 20002;
|
||||||
|
PACKET_MSDollMachineGrab = 20003;
|
||||||
|
PACKET_MSDollMachineList = 20004;
|
||||||
|
}
|
||||||
|
//通知链接成功
|
||||||
|
message SMGameLinkSucceed{
|
||||||
|
}
|
||||||
|
|
||||||
|
//操作
|
||||||
|
message SMDollMachineoPerate{
|
||||||
|
int32 Snid = 1;
|
||||||
|
int32 Id = 2; //娃娃机标识
|
||||||
|
int32 Perate = 3; // 1-前 2-后 3-左 4-右 5-投币
|
||||||
|
}
|
||||||
|
|
||||||
|
//下抓
|
||||||
|
message SMDollMachineGrab{
|
||||||
|
int32 TypeId = 1;//1-弱力抓 2 -强力抓 3-必出抓
|
||||||
|
int32 Id =2; //娃娃机标识
|
||||||
|
int32 Snid = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回下抓结果
|
||||||
|
message MSDollMachineGrab{
|
||||||
|
int32 Snid = 1;
|
||||||
|
int32 Id = 2; //娃娃机标识
|
||||||
|
int32 Result = 3;//1-中奖 其他未中奖
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回所有娃娃机连接
|
||||||
|
message MSDollMachineList{
|
||||||
|
repeated DollMachine data = 1;
|
||||||
|
}
|
||||||
|
message DollMachine{
|
||||||
|
int32 Id = 1;
|
||||||
|
string VideoAddr = 2;
|
||||||
|
}
|
|
@ -20,63 +20,74 @@ const (
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
type PacketID int32
|
//娃娃机协议
|
||||||
|
type DollMachinePacketID int32
|
||||||
|
|
||||||
const (
|
const (
|
||||||
PacketID_Zero PacketID = 0 // 弃用消息号
|
DollMachinePacketID_PACKET_SMDollMachineZero DollMachinePacketID = 0
|
||||||
PacketID_Test PacketID = 20000 // 测试
|
DollMachinePacketID_PACKET_SMGameLinkSucceed DollMachinePacketID = 20000
|
||||||
|
DollMachinePacketID_PACKET_SMDollMachinePerate DollMachinePacketID = 20001
|
||||||
|
DollMachinePacketID_PACKET_SMDollMachineGrab DollMachinePacketID = 20002
|
||||||
|
DollMachinePacketID_PACKET_MSDollMachineGrab DollMachinePacketID = 20003
|
||||||
|
DollMachinePacketID_PACKET_MSDollMachineList DollMachinePacketID = 20004
|
||||||
)
|
)
|
||||||
|
|
||||||
// Enum value maps for PacketID.
|
// Enum value maps for DollMachinePacketID.
|
||||||
var (
|
var (
|
||||||
PacketID_name = map[int32]string{
|
DollMachinePacketID_name = map[int32]string{
|
||||||
0: "Zero",
|
0: "PACKET_SMDollMachineZero",
|
||||||
20000: "Test",
|
20000: "PACKET_SMGameLinkSucceed",
|
||||||
|
20001: "PACKET_SMDollMachinePerate",
|
||||||
|
20002: "PACKET_SMDollMachineGrab",
|
||||||
|
20003: "PACKET_MSDollMachineGrab",
|
||||||
|
20004: "PACKET_MSDollMachineList",
|
||||||
}
|
}
|
||||||
PacketID_value = map[string]int32{
|
DollMachinePacketID_value = map[string]int32{
|
||||||
"Zero": 0,
|
"PACKET_SMDollMachineZero": 0,
|
||||||
"Test": 20000,
|
"PACKET_SMGameLinkSucceed": 20000,
|
||||||
|
"PACKET_SMDollMachinePerate": 20001,
|
||||||
|
"PACKET_SMDollMachineGrab": 20002,
|
||||||
|
"PACKET_MSDollMachineGrab": 20003,
|
||||||
|
"PACKET_MSDollMachineList": 20004,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func (x PacketID) Enum() *PacketID {
|
func (x DollMachinePacketID) Enum() *DollMachinePacketID {
|
||||||
p := new(PacketID)
|
p := new(DollMachinePacketID)
|
||||||
*p = x
|
*p = x
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x PacketID) String() string {
|
func (x DollMachinePacketID) String() string {
|
||||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (PacketID) Descriptor() protoreflect.EnumDescriptor {
|
func (DollMachinePacketID) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_machine_proto_enumTypes[0].Descriptor()
|
return file_machine_proto_enumTypes[0].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (PacketID) Type() protoreflect.EnumType {
|
func (DollMachinePacketID) Type() protoreflect.EnumType {
|
||||||
return &file_machine_proto_enumTypes[0]
|
return &file_machine_proto_enumTypes[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x PacketID) Number() protoreflect.EnumNumber {
|
func (x DollMachinePacketID) Number() protoreflect.EnumNumber {
|
||||||
return protoreflect.EnumNumber(x)
|
return protoreflect.EnumNumber(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use PacketID.Descriptor instead.
|
// Deprecated: Use DollMachinePacketID.Descriptor instead.
|
||||||
func (PacketID) EnumDescriptor() ([]byte, []int) {
|
func (DollMachinePacketID) EnumDescriptor() ([]byte, []int) {
|
||||||
return file_machine_proto_rawDescGZIP(), []int{0}
|
return file_machine_proto_rawDescGZIP(), []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test
|
//通知链接成功
|
||||||
type CSTest struct {
|
type SMGameLinkSucceed struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Ts int64 `protobuf:"varint,1,opt,name=Ts,proto3" json:"Ts,omitempty"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *CSTest) Reset() {
|
func (x *SMGameLinkSucceed) Reset() {
|
||||||
*x = CSTest{}
|
*x = SMGameLinkSucceed{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_machine_proto_msgTypes[0]
|
mi := &file_machine_proto_msgTypes[0]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
@ -84,13 +95,13 @@ func (x *CSTest) Reset() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *CSTest) String() string {
|
func (x *SMGameLinkSucceed) String() string {
|
||||||
return protoimpl.X.MessageStringOf(x)
|
return protoimpl.X.MessageStringOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*CSTest) ProtoMessage() {}
|
func (*SMGameLinkSucceed) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *CSTest) ProtoReflect() protoreflect.Message {
|
func (x *SMGameLinkSucceed) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_machine_proto_msgTypes[0]
|
mi := &file_machine_proto_msgTypes[0]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
@ -102,28 +113,24 @@ func (x *CSTest) ProtoReflect() protoreflect.Message {
|
||||||
return mi.MessageOf(x)
|
return mi.MessageOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use CSTest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use SMGameLinkSucceed.ProtoReflect.Descriptor instead.
|
||||||
func (*CSTest) Descriptor() ([]byte, []int) {
|
func (*SMGameLinkSucceed) Descriptor() ([]byte, []int) {
|
||||||
return file_machine_proto_rawDescGZIP(), []int{0}
|
return file_machine_proto_rawDescGZIP(), []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *CSTest) GetTs() int64 {
|
//操作
|
||||||
if x != nil {
|
type SMDollMachineoPerate struct {
|
||||||
return x.Ts
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
type SCTest struct {
|
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Ts int64 `protobuf:"varint,1,opt,name=Ts,proto3" json:"Ts,omitempty"`
|
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
|
||||||
|
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //娃娃机标识
|
||||||
|
Perate int32 `protobuf:"varint,3,opt,name=Perate,proto3" json:"Perate,omitempty"` // 1-前 2-后 3-左 4-右 5-投币
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SCTest) Reset() {
|
func (x *SMDollMachineoPerate) Reset() {
|
||||||
*x = SCTest{}
|
*x = SMDollMachineoPerate{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_machine_proto_msgTypes[1]
|
mi := &file_machine_proto_msgTypes[1]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
@ -131,13 +138,13 @@ func (x *SCTest) Reset() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SCTest) String() string {
|
func (x *SMDollMachineoPerate) String() string {
|
||||||
return protoimpl.X.MessageStringOf(x)
|
return protoimpl.X.MessageStringOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*SCTest) ProtoMessage() {}
|
func (*SMDollMachineoPerate) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *SCTest) ProtoReflect() protoreflect.Message {
|
func (x *SMDollMachineoPerate) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_machine_proto_msgTypes[1]
|
mi := &file_machine_proto_msgTypes[1]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
@ -149,31 +156,309 @@ func (x *SCTest) ProtoReflect() protoreflect.Message {
|
||||||
return mi.MessageOf(x)
|
return mi.MessageOf(x)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deprecated: Use SCTest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use SMDollMachineoPerate.ProtoReflect.Descriptor instead.
|
||||||
func (*SCTest) Descriptor() ([]byte, []int) {
|
func (*SMDollMachineoPerate) Descriptor() ([]byte, []int) {
|
||||||
return file_machine_proto_rawDescGZIP(), []int{1}
|
return file_machine_proto_rawDescGZIP(), []int{1}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SCTest) GetTs() int64 {
|
func (x *SMDollMachineoPerate) GetSnid() int32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Ts
|
return x.Snid
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineoPerate) GetPerate() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Perate
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//下抓
|
||||||
|
type SMDollMachineGrab struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //1-弱力抓 2 -强力抓 3-必出抓
|
||||||
|
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //娃娃机标识
|
||||||
|
Snid int32 `protobuf:"varint,3,opt,name=Snid,proto3" json:"Snid,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) Reset() {
|
||||||
|
*x = SMDollMachineGrab{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[2]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*SMDollMachineGrab) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[2]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use SMDollMachineGrab.ProtoReflect.Descriptor instead.
|
||||||
|
func (*SMDollMachineGrab) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{2}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) GetTypeId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.TypeId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *SMDollMachineGrab) GetSnid() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Snid
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回下抓结果
|
||||||
|
type MSDollMachineGrab struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Snid int32 `protobuf:"varint,1,opt,name=Snid,proto3" json:"Snid,omitempty"`
|
||||||
|
Id int32 `protobuf:"varint,2,opt,name=Id,proto3" json:"Id,omitempty"` //娃娃机标识
|
||||||
|
Result int32 `protobuf:"varint,3,opt,name=Result,proto3" json:"Result,omitempty"` //1-中奖 其他未中奖
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) Reset() {
|
||||||
|
*x = MSDollMachineGrab{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*MSDollMachineGrab) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[3]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use MSDollMachineGrab.ProtoReflect.Descriptor instead.
|
||||||
|
func (*MSDollMachineGrab) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{3}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) GetSnid() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Snid
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineGrab) GetResult() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Result
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回所有娃娃机连接
|
||||||
|
type MSDollMachineList struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Data []*DollMachine `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) Reset() {
|
||||||
|
*x = MSDollMachineList{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[4]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*MSDollMachineList) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[4]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use MSDollMachineList.ProtoReflect.Descriptor instead.
|
||||||
|
func (*MSDollMachineList) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{4}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *MSDollMachineList) GetData() []*DollMachine {
|
||||||
|
if x != nil {
|
||||||
|
return x.Data
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type DollMachine struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
|
||||||
|
VideoAddr string `protobuf:"bytes,2,opt,name=VideoAddr,proto3" json:"VideoAddr,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) Reset() {
|
||||||
|
*x = DollMachine{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_machine_proto_msgTypes[5]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*DollMachine) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *DollMachine) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_machine_proto_msgTypes[5]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use DollMachine.ProtoReflect.Descriptor instead.
|
||||||
|
func (*DollMachine) Descriptor() ([]byte, []int) {
|
||||||
|
return file_machine_proto_rawDescGZIP(), []int{5}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) GetId() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.Id
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *DollMachine) GetVideoAddr() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.VideoAddr
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
var File_machine_proto protoreflect.FileDescriptor
|
var File_machine_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_machine_proto_rawDesc = []byte{
|
var file_machine_proto_rawDesc = []byte{
|
||||||
0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||||
0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x18, 0x0a, 0x06, 0x43, 0x53, 0x54, 0x65,
|
0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x4d, 0x47, 0x61,
|
||||||
0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
|
0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x22, 0x52, 0x0a,
|
||||||
0x54, 0x73, 0x22, 0x18, 0x0a, 0x06, 0x53, 0x43, 0x54, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
0x14, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x6f, 0x50,
|
||||||
0x54, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x2a, 0x20, 0x0a, 0x08,
|
0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||||
0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x65, 0x72, 0x6f,
|
0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18,
|
||||||
0x10, 0x00, 0x12, 0x0a, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x10, 0xa0, 0x9c, 0x01, 0x42, 0x27,
|
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x65, 0x72,
|
||||||
0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f,
|
0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x65, 0x72, 0x61, 0x74,
|
||||||
0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f,
|
0x65, 0x22, 0x4f, 0x0a, 0x11, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69,
|
||||||
0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x6e, 0x65, 0x47, 0x72, 0x61, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64,
|
||||||
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x0e,
|
||||||
|
0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12,
|
||||||
|
0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e,
|
||||||
|
0x69, 0x64, 0x22, 0x4f, 0x0a, 0x11, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68,
|
||||||
|
0x69, 0x6e, 0x65, 0x47, 0x72, 0x61, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18,
|
||||||
|
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49,
|
||||||
|
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x52,
|
||||||
|
0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x65, 0x73,
|
||||||
|
0x75, 0x6c, 0x74, 0x22, 0x3d, 0x0a, 0x11, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63,
|
||||||
|
0x68, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||||
|
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
|
||||||
|
0x2e, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x64, 0x61,
|
||||||
|
0x74, 0x61, 0x22, 0x3b, 0x0a, 0x0b, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e,
|
||||||
|
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49,
|
||||||
|
0x64, 0x12, 0x1c, 0x0a, 0x09, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02,
|
||||||
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x2a,
|
||||||
|
0xd5, 0x01, 0x0a, 0x13, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50,
|
||||||
|
0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5a,
|
||||||
|
0x65, 0x72, 0x6f, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||||
|
0x53, 0x4d, 0x47, 0x61, 0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65,
|
||||||
|
0x64, 0x10, 0xa0, 0x9c, 0x01, 0x12, 0x20, 0x0a, 0x1a, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f,
|
||||||
|
0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x65, 0x72,
|
||||||
|
0x61, 0x74, 0x65, 0x10, 0xa1, 0x9c, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x53, 0x4d, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x47,
|
||||||
|
0x72, 0x61, 0x62, 0x10, 0xa2, 0x9c, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x47,
|
||||||
|
0x72, 0x61, 0x62, 0x10, 0xa3, 0x9c, 0x01, 0x12, 0x1e, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45,
|
||||||
|
0x54, 0x5f, 0x4d, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4c,
|
||||||
|
0x69, 0x73, 0x74, 0x10, 0xa4, 0x9c, 0x01, 0x42, 0x27, 0x5a, 0x25, 0x6d, 0x6f, 0x6e, 0x67, 0x6f,
|
||||||
|
0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
|
||||||
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -189,18 +474,23 @@ func file_machine_proto_rawDescGZIP() []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_machine_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
var file_machine_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||||
var file_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
var file_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||||
var file_machine_proto_goTypes = []interface{}{
|
var file_machine_proto_goTypes = []interface{}{
|
||||||
(PacketID)(0), // 0: machine.PacketID
|
(DollMachinePacketID)(0), // 0: machine.DollMachinePacketID
|
||||||
(*CSTest)(nil), // 1: machine.CSTest
|
(*SMGameLinkSucceed)(nil), // 1: machine.SMGameLinkSucceed
|
||||||
(*SCTest)(nil), // 2: machine.SCTest
|
(*SMDollMachineoPerate)(nil), // 2: machine.SMDollMachineoPerate
|
||||||
|
(*SMDollMachineGrab)(nil), // 3: machine.SMDollMachineGrab
|
||||||
|
(*MSDollMachineGrab)(nil), // 4: machine.MSDollMachineGrab
|
||||||
|
(*MSDollMachineList)(nil), // 5: machine.MSDollMachineList
|
||||||
|
(*DollMachine)(nil), // 6: machine.DollMachine
|
||||||
}
|
}
|
||||||
var file_machine_proto_depIdxs = []int32{
|
var file_machine_proto_depIdxs = []int32{
|
||||||
0, // [0:0] is the sub-list for method output_type
|
6, // 0: machine.MSDollMachineList.data:type_name -> machine.DollMachine
|
||||||
0, // [0:0] is the sub-list for method input_type
|
1, // [1:1] is the sub-list for method output_type
|
||||||
0, // [0:0] is the sub-list for extension type_name
|
1, // [1:1] is the sub-list for method input_type
|
||||||
0, // [0:0] is the sub-list for extension extendee
|
1, // [1:1] is the sub-list for extension type_name
|
||||||
0, // [0:0] is the sub-list for field type_name
|
1, // [1:1] is the sub-list for extension extendee
|
||||||
|
0, // [0:1] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_machine_proto_init() }
|
func init() { file_machine_proto_init() }
|
||||||
|
@ -210,7 +500,7 @@ func file_machine_proto_init() {
|
||||||
}
|
}
|
||||||
if !protoimpl.UnsafeEnabled {
|
if !protoimpl.UnsafeEnabled {
|
||||||
file_machine_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
file_machine_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*CSTest); i {
|
switch v := v.(*SMGameLinkSucceed); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -222,7 +512,55 @@ func file_machine_proto_init() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_machine_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
file_machine_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*SCTest); i {
|
switch v := v.(*SMDollMachineoPerate); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*SMDollMachineGrab); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*MSDollMachineGrab); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*MSDollMachineList); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_machine_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*DollMachine); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -240,7 +578,7 @@ func file_machine_proto_init() {
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_machine_proto_rawDesc,
|
RawDescriptor: file_machine_proto_rawDesc,
|
||||||
NumEnums: 1,
|
NumEnums: 1,
|
||||||
NumMessages: 2,
|
NumMessages: 6,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,15 +2,47 @@ syntax = "proto3";
|
||||||
package machine;
|
package machine;
|
||||||
option go_package = "mongo.games.com/game/protocol/machine";
|
option go_package = "mongo.games.com/game/protocol/machine";
|
||||||
|
|
||||||
enum PacketID {
|
//S-GAME M-娃娃机主机
|
||||||
Zero = 0;// 弃用消息号
|
|
||||||
Test = 20000; // 测试
|
//娃娃机协议
|
||||||
|
enum DollMachinePacketID {
|
||||||
|
PACKET_SMDollMachineZero = 0;
|
||||||
|
PACKET_SMGameLinkSucceed = 20000;
|
||||||
|
PACKET_SMDollMachinePerate = 20001;
|
||||||
|
PACKET_SMDollMachineGrab = 20002;
|
||||||
|
PACKET_MSDollMachineGrab = 20003;
|
||||||
|
PACKET_MSDollMachineList = 20004;
|
||||||
|
}
|
||||||
|
//通知链接成功
|
||||||
|
message SMGameLinkSucceed{
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test
|
//操作
|
||||||
message CSTest {
|
message SMDollMachineoPerate{
|
||||||
int64 Ts = 1;
|
int32 Snid = 1;
|
||||||
|
int32 Id = 2; //娃娃机标识
|
||||||
|
int32 Perate = 3; // 1-前 2-后 3-左 4-右 5-投币
|
||||||
}
|
}
|
||||||
message SCTest {
|
|
||||||
int64 Ts = 1;
|
//下抓
|
||||||
|
message SMDollMachineGrab{
|
||||||
|
int32 TypeId = 1;//1-弱力抓 2 -强力抓 3-必出抓
|
||||||
|
int32 Id =2; //娃娃机标识
|
||||||
|
int32 Snid = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回下抓结果
|
||||||
|
message MSDollMachineGrab{
|
||||||
|
int32 Snid = 1;
|
||||||
|
int32 Id = 2; //娃娃机标识
|
||||||
|
int32 Result = 3;//1-中奖 其他未中奖
|
||||||
|
}
|
||||||
|
|
||||||
|
//返回所有娃娃机连接
|
||||||
|
message MSDollMachineList{
|
||||||
|
repeated DollMachine data = 1;
|
||||||
|
}
|
||||||
|
message DollMachine{
|
||||||
|
int32 Id = 1;
|
||||||
|
string VideoAddr = 2;
|
||||||
}
|
}
|
2
public
2
public
|
@ -1 +1 @@
|
||||||
Subproject commit a4b6207c925174cbd308d9e6792bb42ec7210be2
|
Subproject commit d789cca81a36ddbaf30e5414b6c4fe530e0631f6
|
Loading…
Reference in New Issue