From 5566537157361003277f043b8e3ea9a387ebb206 Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Fri, 9 Feb 2024 16:13:01 -0800 Subject: More Verbose Card Activatables --- src/card/effect.rs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'src/card/effect.rs') diff --git a/src/card/effect.rs b/src/card/effect.rs index a5f909e..65e54c7 100644 --- a/src/card/effect.rs +++ b/src/card/effect.rs @@ -2,7 +2,7 @@ #[derive(Copy,Clone)] pub struct CardEffect { pub name: &'static str, - pub when: usize, // TODO: Change this + pub when: CardEffectStates, // TODO: Change this pub fun: &'static dyn Fn(), } @@ -12,3 +12,31 @@ impl core::fmt::Debug for CardEffect { } } +#[allow(dead_code)] +#[allow(non_snake_case)] +#[derive(Copy, Clone)] +pub struct CardEffectStates { + DRAW: bool, + BEFORE_PLACE: bool, + DURING_PLACE: bool, + AFTER_PLACE: bool, + BEFORE_ATTACK: bool, + DURING_ATTACK: bool, + AFTER_ATTACK: bool, + END_TURN: bool, +} + +impl Default for CardEffectStates { + fn default() -> Self { + Self { + DRAW: false, + BEFORE_PLACE: false, + DURING_PLACE: false, + AFTER_PLACE: false, + BEFORE_ATTACK: false, + DURING_ATTACK: false, + AFTER_ATTACK: false, + END_TURN: false, + } + } +} -- cgit v1.2.1