#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct MatchScoreBreakdown2016Alliance {
#[serde(rename = "autoPoints", skip_serializing_if = "Option::is_none")]
pub auto_points: Option<i32>,
#[serde(rename = "teleopPoints", skip_serializing_if = "Option::is_none")]
pub teleop_points: Option<i32>,
#[serde(rename = "breachPoints", skip_serializing_if = "Option::is_none")]
pub breach_points: Option<i32>,
#[serde(rename = "foulPoints", skip_serializing_if = "Option::is_none")]
pub foul_points: Option<i32>,
#[serde(rename = "capturePoints", skip_serializing_if = "Option::is_none")]
pub capture_points: Option<i32>,
#[serde(rename = "adjustPoints", skip_serializing_if = "Option::is_none")]
pub adjust_points: Option<i32>,
#[serde(rename = "totalPoints", skip_serializing_if = "Option::is_none")]
pub total_points: Option<i32>,
#[serde(rename = "robot1Auto", skip_serializing_if = "Option::is_none")]
pub robot1_auto: Option<Robot1Auto>,
#[serde(rename = "robot2Auto", skip_serializing_if = "Option::is_none")]
pub robot2_auto: Option<Robot2Auto>,
#[serde(rename = "robot3Auto", skip_serializing_if = "Option::is_none")]
pub robot3_auto: Option<Robot3Auto>,
#[serde(rename = "autoReachPoints", skip_serializing_if = "Option::is_none")]
pub auto_reach_points: Option<i32>,
#[serde(rename = "autoCrossingPoints", skip_serializing_if = "Option::is_none")]
pub auto_crossing_points: Option<i32>,
#[serde(rename = "autoBouldersLow", skip_serializing_if = "Option::is_none")]
pub auto_boulders_low: Option<i32>,
#[serde(rename = "autoBouldersHigh", skip_serializing_if = "Option::is_none")]
pub auto_boulders_high: Option<i32>,
#[serde(rename = "autoBoulderPoints", skip_serializing_if = "Option::is_none")]
pub auto_boulder_points: Option<i32>,
#[serde(rename = "teleopCrossingPoints", skip_serializing_if = "Option::is_none")]
pub teleop_crossing_points: Option<i32>,
#[serde(rename = "teleopBouldersLow", skip_serializing_if = "Option::is_none")]
pub teleop_boulders_low: Option<i32>,
#[serde(rename = "teleopBouldersHigh", skip_serializing_if = "Option::is_none")]
pub teleop_boulders_high: Option<i32>,
#[serde(rename = "teleopBoulderPoints", skip_serializing_if = "Option::is_none")]
pub teleop_boulder_points: Option<i32>,
#[serde(rename = "teleopDefensesBreached", skip_serializing_if = "Option::is_none")]
pub teleop_defenses_breached: Option<bool>,
#[serde(rename = "teleopChallengePoints", skip_serializing_if = "Option::is_none")]
pub teleop_challenge_points: Option<i32>,
#[serde(rename = "teleopScalePoints", skip_serializing_if = "Option::is_none")]
pub teleop_scale_points: Option<i32>,
#[serde(rename = "teleopTowerCaptured", skip_serializing_if = "Option::is_none")]
pub teleop_tower_captured: Option<i32>,
#[serde(rename = "towerFaceA", skip_serializing_if = "Option::is_none")]
pub tower_face_a: Option<String>,
#[serde(rename = "towerFaceB", skip_serializing_if = "Option::is_none")]
pub tower_face_b: Option<String>,
#[serde(rename = "towerFaceC", skip_serializing_if = "Option::is_none")]
pub tower_face_c: Option<String>,
#[serde(rename = "towerEndStrength", skip_serializing_if = "Option::is_none")]
pub tower_end_strength: Option<i32>,
#[serde(rename = "techFoulCount", skip_serializing_if = "Option::is_none")]
pub tech_foul_count: Option<i32>,
#[serde(rename = "foulCount", skip_serializing_if = "Option::is_none")]
pub foul_count: Option<i32>,
#[serde(rename = "position2", skip_serializing_if = "Option::is_none")]
pub position2: Option<String>,
#[serde(rename = "position3", skip_serializing_if = "Option::is_none")]
pub position3: Option<String>,
#[serde(rename = "position4", skip_serializing_if = "Option::is_none")]
pub position4: Option<String>,
#[serde(rename = "position5", skip_serializing_if = "Option::is_none")]
pub position5: Option<String>,
#[serde(rename = "position1crossings", skip_serializing_if = "Option::is_none")]
pub position1crossings: Option<i32>,
#[serde(rename = "position2crossings", skip_serializing_if = "Option::is_none")]
pub position2crossings: Option<i32>,
#[serde(rename = "position3crossings", skip_serializing_if = "Option::is_none")]
pub position3crossings: Option<i32>,
#[serde(rename = "position4crossings", skip_serializing_if = "Option::is_none")]
pub position4crossings: Option<i32>,
#[serde(rename = "position5crossings", skip_serializing_if = "Option::is_none")]
pub position5crossings: Option<i32>,
}
impl MatchScoreBreakdown2016Alliance {
pub fn new() -> MatchScoreBreakdown2016Alliance {
MatchScoreBreakdown2016Alliance {
auto_points: None,
teleop_points: None,
breach_points: None,
foul_points: None,
capture_points: None,
adjust_points: None,
total_points: None,
robot1_auto: None,
robot2_auto: None,
robot3_auto: None,
auto_reach_points: None,
auto_crossing_points: None,
auto_boulders_low: None,
auto_boulders_high: None,
auto_boulder_points: None,
teleop_crossing_points: None,
teleop_boulders_low: None,
teleop_boulders_high: None,
teleop_boulder_points: None,
teleop_defenses_breached: None,
teleop_challenge_points: None,
teleop_scale_points: None,
teleop_tower_captured: None,
tower_face_a: None,
tower_face_b: None,
tower_face_c: None,
tower_end_strength: None,
tech_foul_count: None,
foul_count: None,
position2: None,
position3: None,
position4: None,
position5: None,
position1crossings: None,
position2crossings: None,
position3crossings: None,
position4crossings: None,
position5crossings: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Robot1Auto {
#[serde(rename = "Crossed")]
Crossed,
#[serde(rename = "Reached")]
Reached,
#[serde(rename = "None")]
None,
}
impl Default for Robot1Auto {
fn default() -> Robot1Auto {
Self::Crossed
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Robot2Auto {
#[serde(rename = "Crossed")]
Crossed,
#[serde(rename = "Reached")]
Reached,
#[serde(rename = "None")]
None,
}
impl Default for Robot2Auto {
fn default() -> Robot2Auto {
Self::Crossed
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Robot3Auto {
#[serde(rename = "Crossed")]
Crossed,
#[serde(rename = "Reached")]
Reached,
#[serde(rename = "None")]
None,
}
impl Default for Robot3Auto {
fn default() -> Robot3Auto {
Self::Crossed
}
}