diff --git a/gamelog/Cargo.lock b/gamelog/Cargo.lock index b7fd1f5..b1bfb5c 100644 --- a/gamelog/Cargo.lock +++ b/gamelog/Cargo.lock @@ -19,7 +19,7 @@ dependencies = [ [[package]] name = "gamelog" -version = "0.3.1" +version = "0.5.0" dependencies = [ "ron", "semver", diff --git a/gamelog/Cargo.toml b/gamelog/Cargo.toml index 4b28b0b..9bc0a05 100644 --- a/gamelog/Cargo.toml +++ b/gamelog/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gamelog" -version = "0.3.1" +version = "0.5.0" edition = "2024" [dependencies] diff --git a/gamelog/src/event.rs b/gamelog/src/event.rs index 8f0b1c5..1fa3628 100644 --- a/gamelog/src/event.rs +++ b/gamelog/src/event.rs @@ -10,13 +10,30 @@ pub enum Event { Kickoff(Offence), Turnover(Offence), Penalty(TerrainState), - Score(u8), - Pat(PatPoints), + Score(ScorePoints), } #[derive(Debug, Deserialize, Clone, PartialEq)] -pub enum PatPoints { - Fail, - One, - Two, +pub enum ScorePoints { + Touchdown, + FieldGoal, + Safety, + PatFail, + PatTouchdown, + PatFieldGoal, + PatSafety, +} + +impl ScorePoints { + pub fn to_points(&self) -> u8 { + match &self { + Self::Touchdown => 6, + Self::FieldGoal => 3, + Self::Safety => 2, + Self::PatFail => 0, + Self::PatTouchdown => 2, + Self::PatFieldGoal => 1, + Self::PatSafety => 1, + } + } } diff --git a/gamelog/src/lib.rs b/gamelog/src/lib.rs index 6e88c0f..007edd5 100644 --- a/gamelog/src/lib.rs +++ b/gamelog/src/lib.rs @@ -10,7 +10,7 @@ mod play; mod terrain; #[allow(unused)] -pub const MIN_VER: semver::Version = semver::Version::new(0, 4, 0); +pub const MIN_VER: semver::Version = semver::Version::new(0, 5, 0); pub use action::*; pub use event::Event; diff --git a/gamelog/src/period.rs b/gamelog/src/period.rs index f06e4bd..3099b84 100644 --- a/gamelog/src/period.rs +++ b/gamelog/src/period.rs @@ -1,4 +1,4 @@ -use crate::{Event, PlayHandle}; +use crate::{Event, Play, PlayHandle}; use serde::Deserialize; #[derive(Debug, Deserialize, Clone)] @@ -9,7 +9,7 @@ pub struct Period { } impl PlayHandle for Period { - fn plays(&self) -> Vec { + fn plays(&self) -> Vec { self.events .iter() .filter_map(|event| { diff --git a/gamelog/src/play.rs b/gamelog/src/play.rs index c159a14..0a4d8ec 100644 --- a/gamelog/src/play.rs +++ b/gamelog/src/play.rs @@ -26,9 +26,13 @@ impl PlayHandle for Play { } impl Distance for Play { - fn distance(&self) -> u8 {} + fn distance(&self) -> u8 { + todo!() + } - fn delta(&self, d: D) {} + fn delta(&self, d: D) { + todo!() + } } #[derive(Debug, Deserialize, Clone, Default, PartialEq)]