diff options
-rw-r--r-- | src/event.rs | 24 | ||||
-rw-r--r-- | src/lib.rs | 10 |
2 files changed, 21 insertions, 13 deletions
diff --git a/src/event.rs b/src/event.rs index 6dc6591..072c7d5 100644 --- a/src/event.rs +++ b/src/event.rs @@ -7,6 +7,7 @@ use std::convert::TryFrom; use std::io; use byteorder::{BigEndian, WriteBytesExt}; +use getset::{CopyGetters, Getters}; use num_traits::FromPrimitive; use thiserror::Error; @@ -201,29 +202,36 @@ pub enum EventKind { /// /// Note that if you plan on re-using the raw event afterwards, you should use the implementation /// that works on a reference instead: `Event::try_from(&raw_event)`. -#[derive(Clone, Debug, PartialEq)] +#[derive(Clone, Debug, PartialEq, CopyGetters, Getters)] pub struct Event { /// The time when the event happened. /// /// This are the milliseconds since Windows has been started (`timeGetTime()`). - pub time: u64, + #[get_copy = "pub"] + time: u64, /// The kind of the event. - pub kind: EventKind, + #[get = "pub"] + kind: EventKind, /// Whether the agent had more than 90% of its health. /// /// This is the scholar threshold. - pub is_ninety: bool, + #[get_copy = "pub"] + is_ninety: bool, /// Whether the target health was below 50%. /// /// This is the threshold for many runes and trait damage modifiers (e.g. /// *Bolt to the Heart*). - pub is_fifty: bool, + #[get_copy = "pub"] + is_fifty: bool, /// Whether the source agent was moving. - pub is_moving: bool, + #[get_copy = "pub"] + is_moving: bool, /// Whether the source agent was flanking the target. - pub is_flanking: bool, + #[get_copy = "pub"] + is_flanking: bool, /// Whether some (or all) damage was mitigated by shields. - pub is_shields: bool, + #[get_copy = "pub"] + is_shields: bool, } impl TryFrom<raw::CbtEvent> for Event { @@ -773,9 +773,9 @@ impl Log { self.events().iter().find_map(|e| { if let EventKind::LogStart { local_timestamp, .. - } = e.kind + } = e.kind() { - Some(local_timestamp) + Some(*local_timestamp) } else { None } @@ -791,9 +791,9 @@ impl Log { self.events().iter().find_map(|e| { if let EventKind::LogEnd { local_timestamp, .. - } = e.kind + } = e.kind() { - Some(local_timestamp) + Some(*local_timestamp) } else { None } @@ -806,7 +806,7 @@ impl Log { /// (`false`). pub fn was_rewarded(&self) -> bool { self.events().iter().any(|e| { - if let EventKind::Reward { .. } = e.kind { + if let EventKind::Reward { .. } = e.kind() { true } else { false |