syntax = "proto3"; package ET; message MoveInfo { repeated Unity.Mathematics.float3 Points = 1; Unity.Mathematics.quaternion Rotation = 2; int32 TurnSpeed = 3; } message UnitInfo { int64 UnitId = 1; int32 ConfigId = 2; int32 Type = 3; Unity.Mathematics.float3 Position = 4; Unity.Mathematics.float3 Forward = 5; map KV = 6; MoveInfo MoveInfo = 7; } message ActInfo { int32 Card = 1; // 碰杠吃的牌,吃为顺子第一张 int32 Type = 2; // 1.明杠(出牌杠) 2.回杠(碰完的牌杠) 3.暗杠(手牌直接杠) 4.碰 5.吃 int64 PlayerId = 3; // 操作谁家的牌 } message CardInfo { repeated int32 RemainCards = 1; // 玩家手牌 int32 RemainCardsNum = 2; // 玩家手牌数量 int32 DrawCard = 3; // 玩家摸的牌(只有摸牌人自己有) repeated int32 DisCards = 4; // 玩家打出的牌集合 repeated ActInfo UsedInfo = 5; // 存储玩家吃碰杠集合 repeated int32 Acts = 6; // 玩家可操作动作[吃 碰 杠 胡 过] 可操作为1 不可操作为0 eg:[1,1,1,1,1] repeated ActInfo ActInfo = 7; // 玩家可操作动作牌列表 } message PlayerInfo { int64 id = 1; string name = 2; int32 sex = 3; int64 exp = 4; int32 level = 5; int32 vip = 6; int64 diamond = 7; // 玩家携带钻石 int32 pos = 8; // 玩家位置(0东 1南 2西 3北) int32 state = 9; // 玩家状态(0未准备 1已准备 2游戏中 3结束) bool isAuto = 10; // 是否托管 CardInfo cardInfo = 11; // 玩家牌信息 } message RoomInfo { int32 RoomId = 1; // 房间号 int32 Type = 2; // 房间玩法类型 1:黄冈晃晃 int64 OwnerId = 3; // 房主playerId int32 State = 4; // 房间状态(0等待 1开局 2进行中 3已结束) int32 Time = 5; // 倒计时 int32 CurRound = 6; // 当前局数 int32 Rand1 = 7; // 骰子1 int32 Rand2 = 8; // 骰子2 int32 ZhuangPos = 9; int32 CardNum = 10; // 牌库剩余数量 int64 OpId = 11; // 当前操作玩家id int32 OpPos = 12; // 当前操作玩家位置 int32 CurDisCard = 13; // 当前出牌玩家打出的牌 int32 CurDisCardSex = 14; // 当前出牌玩家性别 PlayerInfo MyInfo = 15; // 自己数据 repeated PlayerInfo OtherInfo = 16; // 其他玩家数据 }