vex_mqtt_rust/proto/elim.proto

80 lines
1.6 KiB
Protocol Buffer

syntax = "proto2";
package tm;
import "match.proto";
import "fieldhw.proto";
enum UnavailableReason {
UNAVAIL_DECLINED = 1;
UNAVAIL_INELIGIBLE = 2;
}
message ElimTeam {
optional string teamNum = 1;
optional int32 position = 2;
optional int32 id = 3;
}
message ElimAlliance {
optional int32 allianceId = 1;
optional int32 division = 2;
repeated tm.ElimTeam teams = 3;
optional int32 wins = 4;
optional tm.MatchRound round = 5;
optional int32 instance = 6;
optional string name = 7;
}
message ElimAllianceList {
repeated tm.ElimAlliance alliances = 1;
}
message UnavailableTeam {
optional string teamNum = 1;
optional tm.UnavailableReason reason = 2;
}
message UnavailableTeams {
repeated tm.UnavailableTeam teams = 1;
optional int32 division = 2;
}
message ElimBracketNodeAlliance {
optional int32 seed = 1;
optional int32 wins = 2;
optional int32 childInstance = 3;
}
message ElimBracketNodeData {
optional tm.MatchTuple matchTuple = 1;
repeated tm.ElimBracketNodeAlliance alliances = 2;
optional int32 matchesPlayed = 3;
}
message ElimAllianceSelectionMode {
enum SelectionMode {
NORMAL = 1;
SERPENTINE = 2;
MANUAL = 3;
}
optional tm.ElimAllianceSelectionMode.SelectionMode mode = 1;
}
message ElimAllianceUnbalancedMode {
enum UnbalancedMode {
OFF = 1;
LOW_SEED = 2;
HIGH_SEED = 3;
}
optional tm.ElimAllianceUnbalancedMode.UnbalancedMode mode = 1 [default = OFF];
}
message ElimQueueItem {
optional tm.MatchTuple matchTuple = 1;
optional tm.Field field = 2;
}
message ElimQueueList {
repeated tm.ElimQueueItem items = 1;
}