Files
tankz/src/common/proto/pack.proto
2019-05-23 17:57:54 +03:00

98 lines
1.9 KiB
Protocol Buffer

syntax = "proto3";
import "core.proto";
import "game.proto";
package ru.m.tankz.proto.pack;
message ErrorResponse {
int32 code = 1;
string message = 2;
}
// Login
message LoginRequest {
string uuid = 1;
string name = 2;
}
message LoginResponse {
ru.m.tankz.proto.core.UserProto user = 1;
}
// Logout
message LogoutRequest {}
message LogoutResponse {}
// List Game
message ListGameRequest {}
message ListGameResponse {
repeated ru.m.tankz.proto.core.GameProto games = 1;
}
// Create Game
message CreateGameRequest {
string type = 1;
int32 level = 2;
}
message CreateGameResponse {
ru.m.tankz.proto.core.GameProto game = 1;
}
// Join Game
message JoinGameRequest {
int32 game_id = 1;
}
message JoinGameResponse {
ru.m.tankz.proto.core.GameProto game = 1;
ru.m.tankz.proto.core.UserProto user = 2;
}
// Leave Game
message LeaveGameRequest {}
message LeaveGameResponse {
ru.m.tankz.proto.core.GameProto game = 1;
ru.m.tankz.proto.core.UserProto user = 2;
}
// Start Game
message StartGameRequest {}
message StartGameResponse {
ru.m.tankz.proto.core.GameProto game = 1;
}
// Request
message Request {
oneof content {
LoginRequest login = 1;
LogoutRequest logout = 2;
ListGameRequest listGame = 3;
CreateGameRequest createGame = 4;
JoinGameRequest joinGame = 5;
LeaveGameRequest leaveGame = 6;
StartGameRequest startGame = 7;
}
}
// Response
message Response {
oneof content {
LoginResponse login = 1;
LogoutResponse logout = 2;
ListGameResponse listGame = 3;
CreateGameResponse createGame = 4;
JoinGameResponse joinGame = 5;
LeaveGameResponse leaveGame = 6;
StartGameResponse startGame = 7;
ErrorResponse error = 999;
}
}