diff options
| author | Daniel Schadt <kingdread@gmx.de> | 2018-06-13 13:17:28 +0200 | 
|---|---|---|
| committer | Daniel Schadt <kingdread@gmx.de> | 2018-06-13 13:17:28 +0200 | 
| commit | 2fe671951369b8f049e8acf02e9e9750c96b4dcd (patch) | |
| tree | 49e9c0cc4bcbf6d76183555ac95bc3d9504c7a05 | |
| parent | fe16699205b6b40aed8cafbe95820835a7052908 (diff) | |
| download | evtclib-2fe671951369b8f049e8acf02e9e9750c96b4dcd.tar.gz evtclib-2fe671951369b8f049e8acf02e9e9750c96b4dcd.tar.bz2 evtclib-2fe671951369b8f049e8acf02e9e9750c96b4dcd.zip | |
clean up a bit
| -rw-r--r-- | src/event.rs | 67 | ||||
| -rw-r--r-- | src/statistics/damage.rs | 2 | ||||
| -rw-r--r-- | src/statistics/math.rs | 7 | ||||
| -rw-r--r-- | src/statistics/trackers.rs | 17 | 
4 files changed, 7 insertions, 86 deletions
| diff --git a/src/event.rs b/src/event.rs index f87688e..02f4686 100644 --- a/src/event.rs +++ b/src/event.rs @@ -104,73 +104,6 @@ pub enum EventKind {      },  } -impl EventKind { -    /// Returns the source agent address for this event, if one exists. -    pub fn source_agent_addr(&self) -> Option<u64> { -        use EventKind::*; -        match *self { -            EnterCombat { agent_addr, .. } => return Some(agent_addr), -            ExitCombat { agent_addr } => return Some(agent_addr), -            ChangeUp { agent_addr } => return Some(agent_addr), -            ChangeDown { agent_addr } => return Some(agent_addr), -            ChangeDead { agent_addr } => return Some(agent_addr), -            Spawn { agent_addr } => return Some(agent_addr), -            Despawn { agent_addr } => return Some(agent_addr), -            HealthUpdate { agent_addr, .. } => return Some(agent_addr), -            WeaponSwap { agent_addr, .. } => return Some(agent_addr), -            MaxHealthUpdate { agent_addr, .. } => return Some(agent_addr), -            PointOfView { agent_addr } => return Some(agent_addr), -            SkillUse { -                source_agent_addr, .. -            } => return Some(source_agent_addr), -            ConditionTick { -                source_agent_addr, .. -            } => return Some(source_agent_addr), -            InvulnTick { -                source_agent_addr, .. -            } => return Some(source_agent_addr), -            Physical { -                source_agent_addr, .. -            } => return Some(source_agent_addr), -            BuffApplication { -                source_agent_addr, .. -            } => return Some(source_agent_addr), -            BuffRemove { -                source_agent_addr, .. -            } => return Some(source_agent_addr), -            _ => return None, -        } -    } - -    /// Returns the destination agent address for this event, if one exists. -    pub fn destination_agent_addr(&self) -> Option<u64> { -        use EventKind::*; -        match *self { -            ConditionTick { -                destination_agent_addr, -                .. -            } => return Some(destination_agent_addr), -            InvulnTick { -                destination_agent_addr, -                .. -            } => return Some(destination_agent_addr), -            Physical { -                destination_agent_addr, -                .. -            } => return Some(destination_agent_addr), -            BuffApplication { -                destination_agent_addr, -                .. -            } => return Some(destination_agent_addr), -            BuffRemove { -                destination_agent_addr, -                .. -            } => return Some(destination_agent_addr), -            _ => return None, -        } -    } -} -  /// A higher-level representation of a combat event.  #[derive(Clone, Debug, PartialEq, Eq)]  pub struct Event { diff --git a/src/statistics/damage.rs b/src/statistics/damage.rs index fdf723f..0fcbf9b 100644 --- a/src/statistics/damage.rs +++ b/src/statistics/damage.rs @@ -36,7 +36,7 @@ impl Monoid for Damage {  }  /// Provides access to the damage log. -#[derive(Clone)] +#[derive(Clone, Default)]  pub struct DamageLog {      inner: RecordFunc<u64, Meta, Damage>,  } diff --git a/src/statistics/math.rs b/src/statistics/math.rs index 3760ca3..6e7e666 100644 --- a/src/statistics/math.rs +++ b/src/statistics/math.rs @@ -45,7 +45,7 @@ struct Record<X, T, D> {  /// * `T` tag for each data point. Can be arbitrary.  /// * `D` actual data. Must be [`Monoid`](trait.Monoid.html), so that it can be  ///   summed up. -#[derive(Clone)] +#[derive(Clone, Default)]  pub struct RecordFunc<X, T, D> {      data: Vec<Record<X, T, D>>,  } @@ -84,6 +84,11 @@ where          self.data.len()      } +    /// Check whether there are no records. +    pub fn is_emtpy(&self) -> bool { +        self.data.is_empty() +    } +      /// Get the absolute value at the specific point.      #[inline]      pub fn get(&self, x: &X) -> D { diff --git a/src/statistics/trackers.rs b/src/statistics/trackers.rs index ce87f3d..11e51f2 100644 --- a/src/statistics/trackers.rs +++ b/src/statistics/trackers.rs @@ -18,26 +18,12 @@  //! trackers on the same log.  use std::collections::HashMap;  use std::error::Error; -use std::hash::Hash;  use super::super::{Event, EventKind, Log};  use super::boon::BoonQueue;  use super::damage::{DamageLog, DamageType};  use super::gamedata::{self, Mechanic, Trigger}; -// A support macro to introduce a new block. -// -// Doesn't really require a macro, but it's nicer to look at -//   with! { foo = bar } -// rather than -//   { let foo = bar; ... } -macro_rules! with { -    ($name:ident = $expr:expr => $bl:block) => {{ -        let $name = $expr; -        $bl -    }}; -} -  /// A tracker.  ///  /// A tracker should be responsible for tracking a single statistic. Each @@ -322,9 +308,6 @@ impl Tracker for BoonTracker {      type Error = !;      fn feed(&mut self, event: &Event) -> Result<(), Self::Error> { -        if event.kind.destination_agent_addr() != Some(self.agent_addr) { -            return Ok(()); -        }          let delta_t = event.time - self.last_time;          if self.next_update != 0 && delta_t > self.next_update { | 
