vex_mqtt_rust/proto/event.proto

129 lines
3.3 KiB
Protocol Buffer

syntax = "proto2";
package tm;
import "match.proto";
message EventConfig {
enum TournamentType {
SINGLE_ELIMINATION = 1;
DOUBLE_ELIMINATION = 2;
}
enum EventState {
UNCONFIGURED = 0;
QUALIFICATION = 1;
ALLIANCE_SELECTION = 2;
ELIMINATION = 3;
TOP_N_FINALS = 4;
}
enum AvailTeamSortOrder {
RANK = 1;
TEAM_NUMBER = 2;
}
enum WizardMode {
WIZARD_MODE_MINI = 1;
WIZARD_MODE_SMALL = 2;
WIZARD_MODE_MEDIUM = 3;
WIZARD_MODE_LARGE = 4;
WIZARD_MODE_SCHEDULE = 5;
}
optional string eventName = 1;
optional uint32 teamsPerAlliance = 2;
optional uint32 alliancesPerMatch = 3;
optional uint32 numElimAlliances = 4;
optional uint32 numElimTeams = 5;
optional uint32 elimWinsToAdvance = 6;
optional tm.EventConfig.TournamentType tournamentType = 7;
optional tm.EventConfig.EventState eventState = 8;
optional bool configured = 9;
optional tm.EventConfig.AvailTeamSortOrder availTeamSortOrder = 10 [default = RANK];
optional uint32 qualMatchesPerTeamToCount = 11;
optional string backendVer = 12;
optional string password = 13;
optional string uuid = 14;
optional bool leagueMode = 15 [default = false];
optional uint32 leaguePctMatches = 16;
optional uint32 numTopNAlliances = 17;
optional string judgePassword = 18;
optional tm.EventConfig.WizardMode wizardMode = 19;
optional int32 maxNumSkillsScores = 20;
optional bool excludeMissingTeamsFromSchedule = 21 [default = false];
optional string inspectorPassword = 22;
optional string scorekeeperPassword = 23;
}
message GameSound {
optional string state = 1;
optional string cause = 2;
optional string fileName = 3;
}
message ScoringConfig {
optional string xmlInterfaceData = 1;
optional string allianceScoreFormula = 2;
optional string gameName = 4 [default = "Unknown"];
optional uint32 version = 5 [default = 0];
repeated string constraints = 6;
repeated tm.GameSound sounds = 7;
repeated string skillsRankSorts = 8;
optional string skillsScoreFormula = 9;
repeated string qualRankSorts = 10;
optional bytes tmg2Data = 11;
}
message SponsorLogo {
optional uint32 id = 1;
required string name = 2;
required bytes data = 3;
optional int32 width = 4 [default = -1];
optional int32 height = 5 [default = -1];
}
message SponsorLogos {
enum LogoType {
LARGE = 1;
SMALL = 2;
}
repeated tm.SponsorLogo logos = 1;
repeated tm.SponsorLogo smallLogos = 2;
}
message Session {
optional uint32 id = 1;
optional string uuid = 2;
optional string name = 3;
optional uint32 startDate = 4;
optional uint32 endDate = 5;
}
message SessionList {
repeated tm.Session sessions = 1;
}
message OfficialEventConfig {
optional bool officialEvent = 1;
optional string robotEventsCode = 2;
optional string tmCode = 3;
optional bool tmCodeValidated = 4;
optional bool textMessagingEnabled = 5;
}
message ElimWinsToAdvance {
optional int32 division = 1;
optional tm.MatchRound round = 2;
optional uint32 numWins = 3;
}
message ElimWinsToAdvanceList {
repeated tm.ElimWinsToAdvance elimWinsToAdvance = 1;
}
message CustomElimBracket {
optional int32 division = 1;
optional uint32 seed = 2;
optional tm.MatchRound round = 3;
}
message CustomElimBracketList {
repeated tm.CustomElimBracket customElimBracket = 1;
}