/// <summary> /// Additional loading once deserialization is complete /// </summary> /// <param name="e">Event to load data from</param> public void PostJsonLoading(FrcEvent e) { BlueAlliance.PostJsonLoading(e); RedAlliance.PostJsonLoading(e); if (!Pregame) { foreach (Goal g in Goals) { g.PostJsonLoading(e); } } }
/// <summary> /// Gets the defense rating of a team. /// </summary> /// <param name="team">Team in question</param> /// <returns>Defense rating of team</returns> public int GetDefense(Team team) { AllianceColor color = GetTeamColor(team); if (color == AllianceColor.Blue) { AlliancePosition pos = BlueAlliance.GetPositionOf(team); return(BlueDefense[pos]); } else if (color == AllianceColor.Red) { AlliancePosition pos = RedAlliance.GetPositionOf(team); return(RedDefense[pos]); } else { Util.DebugLog(LogLevel.Error, "Invalid alliance color: " + color.ToString()); return(-1); } }
/// <summary> /// Gets whether a team was functioning properly in this match. /// </summary> /// <param name="team">Team in question</param> /// <returns>True if working, false if malfunctioning</returns> public bool GetWorking(Team team) { AllianceColor color = GetTeamColor(team); if (color == AllianceColor.Blue) { AlliancePosition pos = BlueAlliance.GetPositionOf(team); return(BlueWorking[pos]); } else if (color == AllianceColor.Red) { AlliancePosition pos = RedAlliance.GetPositionOf(team); return(RedWorking[pos]); } else { Util.DebugLog(LogLevel.Critical, "Invalid alliance color: " + color.ToString()); throw new IndexOutOfRangeException("Invalid alliance color: " + color.ToString()); } }
/// <summary> /// Get alliance color of a team. /// </summary> /// <param name="team">Team whose color to get</param> /// <returns>Color of team, Indeterminate if team isn't found</returns> public AllianceColor GetTeamColor(Team team) { if (team == null) { Util.DebugLog(LogLevel.Critical, "Team is null."); return(AllianceColor.Indeterminate); } if (BlueAlliance.Contains(team)) { return(AllianceColor.Blue); } else if (RedAlliance.Contains(team)) { return(AllianceColor.Red); } else { Util.DebugLog(LogLevel.Error, "Neither alliance contains team " + team.Number.ToString()); return(AllianceColor.Indeterminate); } }
public AlliancePosition GetTeamPosition(Team team) { if (team == null) { Util.DebugLog(LogLevel.Critical, "Team is null."); return(AlliancePosition.A); } AllianceColor color = GetTeamColor(team); if (color == AllianceColor.Blue) { return(BlueAlliance.GetIndexOf(team)); } else if (color == AllianceColor.Red) { return(RedAlliance.GetIndexOf(team)); } else { Util.DebugLog(LogLevel.Error, "Neither alliance contains team."); return(AlliancePosition.A); } }
public override string ToString() { return("Match " + Number.ToString() + ": " + RedAlliance.ToString() + " vs. " + BlueAlliance.ToString()); }