111 lines
3.9 KiB
Protocol Buffer
111 lines
3.9 KiB
Protocol Buffer
syntax = "proto3";
|
||
package candy;
|
||
option go_package = "mongo.games.com/game/protocol/candy";
|
||
|
||
//糖果
|
||
enum CandyPacketID {
|
||
PACKET_CANDY_ZERO = 0; //弃用消息号
|
||
PACKET_SC_CANDY_ROOMINFO = 5240; //房间信息
|
||
PACKET_CS_CANDY_PLAYEROP = 5241; //玩家操作(客户->服务)
|
||
PACKET_SC_CANDY_PLAYEROP = 5242; //玩家操作(服务->客户)
|
||
PACKET_SC_CANDY_ROOMSTATE = 5243; //房间状态
|
||
PACKET_SC_CANDY_GAMEBILLED = 5244; //游戏结算
|
||
PACKET_SC_CANDY_GAMEJACKPOT = 5245; //奖池
|
||
PACKET_SC_CANDY_PLAYERHISTORY = 5246;//玩家操作记录
|
||
}
|
||
|
||
//操作结果
|
||
enum OpResultCode {
|
||
OPRC_Sucess = 0; //成功
|
||
OPRC_Error = 1; //失败
|
||
OPRC_CoinNotEnough = 2; //钱不够
|
||
}
|
||
|
||
message CandyPlayerData {
|
||
string Name = 1; //名字
|
||
int32 SnId = 2; //账号
|
||
int32 Head = 3; //头像
|
||
int32 Sex = 4; //性别
|
||
int64 Coin = 5; //金币
|
||
int32 HeadOutLine = 6; //头像框
|
||
int32 VIP = 7;
|
||
repeated string Params = 8; //其他数据 如:ip 等
|
||
}
|
||
|
||
//房间信息
|
||
message SCCandyRoomInfo {
|
||
int32 RoomId = 1; //房间id
|
||
int32 Creator = 2; //创建者SnId
|
||
int32 GameId = 3; //游戏id
|
||
int32 RoomMode = 4; //游戏模式
|
||
repeated int32 Params = 5; //规则参数
|
||
repeated int32 Cards = 6; //牌数据
|
||
int32 State = 7; //房间当前状态
|
||
repeated int64 BetLines = 8; //玩家下注选线数组
|
||
int32 Chip = 9; //当前选择的押注
|
||
repeated CandyPlayerData Players = 10; //房间内的玩家信息
|
||
int64 Jackpot = 11; //奖池金额
|
||
int64 SpinID = 12; //操作ID
|
||
repeated int32 ParamsEx = 13; //其他参数
|
||
int32 GameFreeId = 14;
|
||
GameBilledData BilledData = 15; //上一局结算信息,用于断线重连
|
||
}
|
||
|
||
|
||
//玩家操作
|
||
message CSCandyOp {
|
||
int32 OpCode = 1; //操作码 0:开始{0押注倍数,1-n选线} 1:玩家记录信息 2:大奖记录
|
||
repeated int64 Params = 2; //操作参数
|
||
}
|
||
|
||
//玩家操作返回
|
||
message SCCandyOp {
|
||
int32 SnId = 1; //玩家ID
|
||
int32 OpCode = 2; //操作码
|
||
repeated int64 Params = 3; //操作参数
|
||
OpResultCode OpRetCode = 4; //操作结果
|
||
}
|
||
|
||
//每条线的结算数据
|
||
message CandyLinesInfo {
|
||
int32 LineId = 1; //中奖线路,20条线路中的一条[1,20]
|
||
int32 PrizeId = 2; //中奖Id(暂时忽略)
|
||
repeated int32 Position = 3; //中奖位置编号
|
||
int64 PrizeValue = 4; //线条奖金
|
||
}
|
||
|
||
message GameBilledData {
|
||
repeated int32 SlotsData = 1; //需要翻出的牌,数字9个,如:[1, 2, 3, 4, 5, 6, 7, 8, 9,]
|
||
repeated CandyLinesInfo PrizeLines = 2; //中奖的结果数组,存每条线的情况
|
||
repeated CandyLinesInfo LuckyData = 3; //LuckyData中线数组
|
||
int64 TotalPrizeValue = 4; //中奖的总分数
|
||
int64 TotalPaylinePrizeValue = 5; //除了爆奖金额之外的线条奖金
|
||
int64 TotalJackpotValue = 6; //爆奖金额
|
||
int64 Balance = 7; //玩家余额
|
||
int64 Jackpot = 8; //奖池金额
|
||
int64 ResponseStatus = 9; //状态码
|
||
bool IsJackpot = 10; //是否爆奖
|
||
}
|
||
|
||
//发送给客户端的数据 结算
|
||
message SCCandyGameBilled {
|
||
int64 SpinID = 1; //操作ID
|
||
GameBilledData BilledData = 2;//结算信息
|
||
}
|
||
|
||
//房间状态
|
||
message SCCandyRoomState {
|
||
int32 State = 1; //房间当前状态
|
||
}
|
||
|
||
// 玩家操作记录信息
|
||
message CandyPlayerHistoryInfo{
|
||
string SpinID = 1; // 操作id
|
||
int64 CreatedTime = 2; // 时间
|
||
int64 TotalBetValue = 3; // 总下注
|
||
int64 TotalPriceValue = 4; // 总赢分
|
||
}
|
||
// 玩家押注记录
|
||
message SCCandyPlayerHistory{
|
||
repeated CandyPlayerHistoryInfo PlayerHistory = 1;
|
||
} |