120 lines
3.9 KiB
Protocol Buffer
120 lines
3.9 KiB
Protocol Buffer
syntax = "proto3";
|
||
package clawdoll;
|
||
option go_package = "mongo.games.com/game/protocol/clawdoll";
|
||
|
||
//娃娃机
|
||
enum CLAWDOLLPacketID {
|
||
PACKET_ZERO = 0; //弃用消息号
|
||
PACKET_SC_ROOMINFO = 5601; //房间信息
|
||
PACKET_CS_PLAYEROP = 5602; //玩家操作(客户->服务)
|
||
PACKET_SC_PLAYEROP = 5603; //玩家操作(服务->客户)
|
||
PACKET_SC_ROOMSTATE = 5604; //房间状态
|
||
PACKET_SC_GAMEBILLED = 5605; //游戏结算
|
||
PACKET_SC_PlayerEnter = 5606; // 玩家进入
|
||
PACKET_SC_PlayerLeave = 5607; // 玩家离开
|
||
PACKET_SC_PLAYERINFO = 5608; // 玩家状态信息变化
|
||
PACKET_CS_GETTOKEN = 5609; // 获取token
|
||
PACKET_SC_SENDTOKEN = 5610; // 获取token
|
||
PACKET_CS_WAITPLAYERS = 5611; // 获取等待玩家信息 (客户->服务)
|
||
PACKET_SC_WAITPLAYERS = 5612; // 获取等待玩家信息 (服务->客户)
|
||
}
|
||
|
||
//操作结果
|
||
enum OpResultCode {
|
||
OPRC_Success = 0; //成功
|
||
OPRC_Error = 1; //失败
|
||
OPRC_CoinNotEnough = 2; //钱不够
|
||
OPRC_PosAlReadyPlaying = 3; //本局位置已存在玩家
|
||
}
|
||
|
||
message CLAWDOLLPlayerData {
|
||
string Name = 1; //名字
|
||
int32 SnId = 2; //账号
|
||
int32 Head = 3; //头像
|
||
int32 Sex = 4; //性别
|
||
int64 Coin = 5; //金币
|
||
int32 HeadOutLine = 6; //头像框
|
||
int32 VIP = 7;
|
||
int32 Flag = 8; //二进制标记 第一位:是否掉线(0:在线 1:掉线) 第二位:是否准备(0:未准备 1:已准备)
|
||
|
||
int64 WinCoin = 9; // 本局赢分
|
||
int32 clawDollState = 10; // 玩家状态
|
||
}
|
||
|
||
//房间信息
|
||
message SCCLAWDOLLRoomInfo {
|
||
int32 RoomId = 1; //房间id
|
||
int32 GameId = 2; //游戏id
|
||
int32 RoomMode = 3; //游戏模式
|
||
repeated int32 Params = 4; //规则参数
|
||
int32 State = 5; //房间当前状态
|
||
int32 TimeOut = 6; //该状态已经历时间 单位:秒
|
||
repeated CLAWDOLLPlayerData Players = 7; //房间内的玩家信息
|
||
int32 TotalPlayer = 8; //房间总人数
|
||
int32 RoundId = 9; //当前局数ID
|
||
repeated int32 ParamsEx = 10; //其他参数
|
||
|
||
int32 GameFreeId = 15;
|
||
int32 BaseScore = 16; //基础分
|
||
}
|
||
|
||
//玩家操作
|
||
message CSCLAWDOLLOp {
|
||
int32 OpCode = 1; //操作码 1:上分 投币 2:下抓 3:玩家操控动作
|
||
repeated int64 Params = 2; //操作参数 1:无
|
||
//操作参数 2:无
|
||
//操作参数 3:Params[0] 1-前 2-后 3-左 4-右
|
||
}
|
||
|
||
//玩家操作返回
|
||
message SCCLAWDOLLOp {
|
||
int32 SnId = 1; //玩家ID
|
||
int32 OpCode = 2; //操作码
|
||
repeated int64 Params = 3; //操作参数 同上 CSCLAWDOLLOp
|
||
OpResultCode OpRetCode = 4; //操作结果
|
||
}
|
||
|
||
//发送给客户端的数据 单局结算
|
||
message SCCLAWDOLLRoundGameBilled {
|
||
int32 RoundId = 1; //局ID
|
||
int32 ClowResult = 2; //抓取结果 0: 没有抓住, 1:抓住娃娃
|
||
int64 Award = 3; //获奖金额
|
||
int64 Balance = 4; //玩家余额
|
||
}
|
||
|
||
//房间状态
|
||
message SCCLAWDOLLRoomState {
|
||
int32 State = 1; //房间当前状态
|
||
repeated float Params = 2;
|
||
}
|
||
|
||
//玩家信息
|
||
message SCCLAWDOLLPlayerInfo {
|
||
int32 SnId = 1; // 玩家ID
|
||
int32 clawDollState = 2; // 玩家状态
|
||
int64 gainCoin = 3; // 本局赢取
|
||
int64 Coin = 4; // 玩家
|
||
|
||
repeated int64 Params = 5; //操作参数
|
||
}
|
||
|
||
|
||
//玩家进入
|
||
//PACKET_SCCLAWDOLLPlayerEnter
|
||
message SCCLAWDOLLPlayerEnter {
|
||
CLAWDOLLPlayerData Data = 1;
|
||
}
|
||
|
||
//玩家离开
|
||
//PACKET_SCCLAWDOLLPlayerLeave
|
||
message SCCLAWDOLLPlayerLeave {
|
||
int32 Pos = 1; //玩家位置
|
||
}
|
||
//玩家请求进入视频地址token
|
||
message CSCLAWDOLLGetToken {
|
||
int64 Appid = 1;
|
||
}
|
||
|
||
message SCCLAWDOLLSendToken {
|
||
string Token = 1;
|
||
} |