syntax = "proto3"; import "core.proto"; package ru.m.tankz.proto.room; message SlotProto { string team = 3; int32 index = 4; } message RoomSlotProto { SlotProto slot = 1; ru.m.tankz.proto.core.UserProto user = 2; } message RoomProto { ru.m.tankz.proto.core.GameProto game = 1; ru.m.tankz.proto.core.UserProto creator = 2; repeated ru.m.tankz.proto.core.UserProto users = 3; repeated RoomSlotProto slots = 4; } message CreateRequest { string type = 2; int32 level = 3; } message JoinRequest { int32 gameId = 1; bool restore = 2; } message LeaveRequest { } message SlotRequest { SlotProto slot = 3; } message StartRequest { } message RoomRequest { oneof content { CreateRequest create = 1; JoinRequest join = 2; LeaveRequest leave = 3; SlotRequest slot = 4; StartRequest start = 5; } } message RoomResponse { RoomProto room = 1; } message RoomListRequest { bool subscribe = 1; } message RoomListResponse { repeated RoomProto rooms = 1; }