123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- syntax = "proto3"; //指定版本,必须要写(proto3、proto2)
- option go_package="./;gameproto";
- package gameproto;
- import "google/protobuf/any.proto";
- enum NotifyTypeEnum {
- NotifyTypePing = 0;
- NotifyTypeJoinRoom = 1;
- NotifyTypeLeaveRoom = 2;
- NotifyTypeCreateRoom = 3;
- NotifyTypeConnect = 4;
- NotifyTypeDisconnect = 5;
- NotifyTypeReady = 6;
- NotifyTypeUnReady = 7;
- NotifyTypeStart = 8;
- NotifyTypeChooseMaster = 9;
- NotifyTypeChooseMasterFinish = 10;
- NotifyTypeChooseMul = 11;
- NotifyTypeChooseMulFinish = 12;
- NotifyTypeGameInit = 13;
- NotifyTypeOpen = 14;
- NotifyTypeOpenFinish = 15;
- NotifyTypeMsgResp = 16; //简单的返回
- NotifyTypeWaitReady = 17;
- }
- enum DataType {
- DataTypeNormal = 0; //0x00000000
- DataTypeGZip = 2; //0x00000010
- DataTypeEnc = 4; //0x00000100
- }
- enum RoomType {
- RoomTypeFree = 0;
- RoomTypeNormal = 1;
- }
- enum RespStatus {
- RespStatusSucc = 0;
- RespStatusFailed = 1;
- }
- //Ping
- message Ping {
- }
- message MsgResp {
- string once = 1;
- RespStatus status = 2;
- string msg = 3;
- google.protobuf.Any data = 4;
- }
- message Room {
- uint32 ID = 1;
- string Name = 2;
- bool needPwd = 10;
- RoomType RoomType = 3;
- double BaseAmount = 4;
- uint32 ChairUserID1 = 5;
- uint32 ChairUserID2 = 6;
- uint32 ChairUserID3 = 7;
- uint32 ChairUserID4 = 8;
- uint32 ChairUserID5 = 9;
- uint32 Status = 11;
- }
- message RoomDetail {
- uint32 ID = 1;
- string Name = 2;
- bool needPwd = 10;
- RoomType RoomType = 3;
- double BaseAmount = 4;
- uint32 ChairUserID1 = 5;
- uint32 ChairUserID2 = 6;
- uint32 ChairUserID3 = 7;
- uint32 ChairUserID4 = 8;
- uint32 ChairUserID5 = 9;
- uint32 Status = 11;
- int64 StatusStartTime = 13;
- repeated RoomUser RoomUserList = 12;
- int64 TimeNow = 14;
- }
- message RoomUser {
- uint32 UserID = 1;
- repeated uint32 CardList = 2;
- float WinAmount = 3;
- bool IsMaster = 4;
- uint32 MasterMul = 5;
- uint32 Mul = 6;
- uint32 Status = 7;
- double Balance = 8;
- double Credits = 9;
- }
- message Game {
- Room Room = 1; //房间信息
- repeated RoomUser RoomUserList = 2;
- }
- message User {
- uint32 UserID = 1;
- string Name = 2;
- string Img = 3;
- }
- message Connect {
- uint32 UserID = 1;
- int64 LogID = 2;
- string Name = 3;
- string Img = 4;
- double Balance = 5;
- Game Game = 6;
- repeated Room RoomList = 7;
- repeated User UserList = 8;
- RoomDetail RoomDetail = 9; //用户当前房间的详情
- double Credits = 10;
- }
- message Disconnect {
- uint32 UserID = 1;
- }
- message JoinRoom {
- uint32 RoomID = 1;
- uint32 ChairID = 2;
- uint32 UserID = 3;
- uint32 GameStatus = 4;
- User User = 5;
- RoomDetail RoomDetail = 6;
- }
- message LeaveRoom {
- uint32 RoomID = 1;
- uint32 ChairID = 2;
- uint32 UserID = 3;
- User User = 5;
- }
- message CreateRoom {
- uint32 ID = 1;
- uint32 CreatorID = 11;
- string Name = 2;
- bool needPwd = 10;
- RoomType RoomType = 3;
- double BaseAmount = 4;
- uint32 ChairUserID1 = 5;
- uint32 ChairUserID2 = 6;
- uint32 ChairUserID3 = 7;
- uint32 ChairUserID4 = 8;
- uint32 ChairUserID5 = 9;
- }
- message Ready {
- uint32 RoomID = 1;
- uint32 UserID = 3;
- }
- message UnReady {
- uint32 RoomID = 1;
- uint32 UserID = 3;
- }
- //开始等待其他人准备
- message WaitReady {
- uint32 RoomID = 1;
- string Issue = 2;
- }
- //准备人数够,开始游戏
- message Start {
- uint32 RoomID = 1;
- repeated uint32 ChooseMasterMulList = 2; //抢庄倍数列表
- string issue = 3;
- repeated uint32 CardList = 4; //牌型列表
- }
- //选庄
- message ChooseMaster {
- uint32 UserID = 1;
- uint32 Mul = 2; //0,1,2,3 - 0表示不抢
- uint32 RoomID = 3;
- }
- //选倍数
- message ChooseMul {
- uint32 UserID = 1;
- uint32 Mul = 2; //1,2,3 - 倍数
- uint32 RoomID = 3;
- repeated uint32 CardList = 4; //牌型列表
- }
- //选庄完成
- message ChooseMasterFinish {
- uint32 MasterUserID = 1; //庄家的ID
- repeated uint32 MulList = 2; //倍数列表
- uint32 RoomID = 3;
- }
- //选倍数完成
- message ChooseMulFinish {
- uint32 RoomID = 3;
- }
- message PayoutInfo {
- uint32 UserID = 1;
- double Balance = 2;
- float winAmount = 3;
- bool isMaster = 4;
- double Credits = 5;
- }
- //选倍数完成
- message OpenFinish {
- uint32 RoomID = 1;
- repeated PayoutInfo PayoutInfoList = 2;
- }
- //开牌
- message Open {
- uint32 RoomID = 1;
- uint32 UserID = 2;
- repeated uint32 CardList = 3; //牌型列表
- }
- //游戏初始化
- message GameInit {
- uint32 RoomID = 1;
- }
- message GameRecordItem {
- int64 CreatedAt = 1;
- int64 RoomID = 2;
- int32 RoomType = 3;
- string Issue = 4;
- string OpenNumber = 5;
- string BaseAmount = 6;
- int32 IsDraw = 7;
- int64 DrawTime = 8;
- int32 IsMaster = 9;
- int32 MasterMul = 10;
- int32 Mul = 11;
- int32 IsWin = 12;
- string WinAmount = 13;
- }
- message GameRecordResp {
- int32 Total = 1;
- repeated GameRecordItem RecordList = 2;
- }
- message GameOpenRecordItem {
- int64 RoomID = 1;
- int32 RoomType = 2;
- string Issue = 3;
- string OpenNumber1 = 4;
- string OpenNumber2 = 5;
- string OpenNumber3 = 6;
- string OpenNumber4 = 7;
- string OpenNumber5 = 8;
- int64 OpenTime = 9;
- string Hash = 10;
- }
- message GameOpenRecordResp {
- int32 Total = 1;
- repeated GameOpenRecordItem OpenRecordList = 2;
- }
|