syntax = "proto3"; package packets; option go_package = "utils/"; message ChatMessage { string msg = 1; } message IdMessage { uint64 id = 1; } message LoginRequestMessage { string username = 1; string password = 2; } message RegisterRequestMessage { string username = 1; string password = 2; int32 color = 3; } message OkResponseMessage { } message DenyResponseMessage { string reason = 1; } message PlayerMessage { uint64 id = 1; string name = 2; double x = 3; double y = 4; double radius = 5; double direction = 6; double speed = 7; int32 color = 8; } message PlayerDirectionMessage { double direction = 1; } message SporeMessage { uint64 id = 1; double x = 2; double y = 3; double radius = 4; } message SporeConsumedMessage { uint64 spore_id = 1; } message SporesBatchMessage { repeated SporeMessage spores = 1; } message PlayerConsumedMessage { uint64 player_id = 1; } message HiscoreBoardRequestMessage { } message HiscoreMessage { uint64 rank = 1; string name = 2; uint64 score = 3; } message HiscoreBoardMessage { repeated HiscoreMessage hiscores = 1; } message FinishedBrowsingHiscoresMessage { } message SearchHiscoreMessage { string name = 1; } message DisconnectMessage { string reason = 1; } message Packet { uint64 sender_id = 1; oneof msg { ChatMessage chat = 2; IdMessage id = 3; LoginRequestMessage login_request = 4; RegisterRequestMessage register_request = 5; OkResponseMessage ok_response = 6; DenyResponseMessage deny_response = 7; PlayerMessage player = 8; PlayerDirectionMessage player_direction = 9; SporeMessage spore = 10; SporeConsumedMessage spore_consumed = 11; SporesBatchMessage spores_batch = 12; PlayerConsumedMessage player_consumed = 13; HiscoreBoardRequestMessage hiscore_board_request = 14; HiscoreMessage hiscore = 15; HiscoreBoardMessage hiscore_board = 16; FinishedBrowsingHiscoresMessage finished_browsing_hiscores = 17; SearchHiscoreMessage search_hiscore = 18; DisconnectMessage disconnect = 19; } }