syntax = "proto3"; package palace; service PalaceService { rpc DownloadFloors(DownloadFloorsRequest) returns (DownloadFloorsReply); rpc UploadFloors(UploadFloorsRequest) returns (UploadFloorsReply); rpc FetchStatistics(StatisticsRequest) returns (StatisticsReply); } message DownloadFloorsRequest { uint32 territoryType = 1; } message DownloadFloorsReply { bool success = 1; repeated PalaceObject objects = 2; } message UploadFloorsRequest { uint32 territoryType = 1; repeated PalaceObject objects = 2; } message UploadFloorsReply { bool success = 1; } message StatisticsRequest { } message StatisticsReply { bool success = 1; repeated FloorStatistics floorStatistics = 2; } message FloorStatistics { uint32 territoryType = 1; uint32 trapCount = 2; uint32 hoardCount = 3; } message PalaceObject { ObjectType type = 1; float x = 2; float y = 3; float z = 4; } enum ObjectType { OBJECT_TYPE_UNKNOWN = 0; OBJECT_TYPE_TRAP = 1; OBJECT_TYPE_HOARD = 2; }