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; }