Skip to main content

manabrew_engine/trigger/
trigger_day_time_changes.rs

1use serde::{Deserialize, Serialize};
2
3use crate::event::RunParams;
4use crate::game::GameState;
5use crate::parsing::Params;
6use crate::spellability::SpellAbility;
7use crate::trigger::TriggerType;
8
9use super::trigger::TriggerBehavior;
10
11#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct TriggerDayTimeChanges;
13
14impl TriggerDayTimeChanges {
15    pub fn parse(_params: &Params) -> Box<dyn TriggerBehavior> {
16        Box::new(Self)
17    }
18}
19
20#[typetag::serde]
21impl TriggerBehavior for TriggerDayTimeChanges {
22    fn trigger_type(&self) -> TriggerType {
23        TriggerType::DayTimeChanges
24    }
25
26    fn perform_test(
27        &self,
28        _trigger: &super::trigger::Trigger,
29        _params: &RunParams,
30        _game: &GameState,
31    ) -> bool {
32        true
33    }
34
35    fn set_triggering_objects(
36        &self,
37        _trigger: &super::trigger::Trigger,
38        _sa: &mut SpellAbility,
39        _params: &RunParams,
40        _game: &GameState,
41    ) {
42    }
43
44    fn get_important_stack_objects(
45        &self,
46        _trigger: &super::trigger::Trigger,
47        _sa: &SpellAbility,
48    ) -> String {
49        String::new()
50    }
51}