forked from RoboCup-SSL/ssl-game-controller
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathssl_game_controller_auto_ref.proto
55 lines (48 loc) · 1.97 KB
/
ssl_game_controller_auto_ref.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
syntax = "proto2";
import "ssl_game_controller_common.proto";
import "ssl_game_event_2019.proto";
// AutoRefRegistration is the first message that a client must send to the controller to identify itself
message AutoRefRegistration {
// identifier is a unique name of the client
required string identifier = 1;
// signature can optionally be specified to enable secure communication
optional Signature signature = 2;
}
// AutoRefToController is the wrapper message for all subsequent messages from the autoRef to the controller
message AutoRefToController {
// signature can optionally be specified to enable secure communication
optional Signature signature = 1;
// game_event is an optional event that the autoRef detected during the game
optional GameEvent game_event = 2;
// auto_ref_message is an optional message that describes the current state or situation of the game/autoRef
// it is not and never was processed by the GC and is this marked deprecated
optional AutoRefMessage auto_ref_message = 3 [deprecated = true];
}
// ControllerToAutoRef is the wrapper message for all messages from controller to autoRef
message ControllerToAutoRef {
oneof msg {
// a reply from the controller
ControllerReply controller_reply = 1;
}
}
// a message from autoRef, describing the current state or situation
message AutoRefMessage {
oneof message {
// a custom message
// an empty string indicates that there is no message
string custom = 1;
// one or more bots are at invalid locations and need to move
WaitForBots wait_for_bots = 2;
}
// the bots that is waited for
message WaitForBots {
// the bots that are waited for
repeated Violator violators = 1;
message Violator {
// the id of the violator
required BotId bot_id = 1;
// the distance to the next valid position
required float distance = 2;
}
}
}