manabrew_engine/trigger/
trigger_waiting.rs1use crate::event::RunParams;
2use crate::ids::PlayerId;
3use crate::trigger::Trigger;
4use crate::trigger::TriggerType;
5
6#[derive(Debug, Clone)]
8pub struct TriggerWaiting {
9 pub mode: TriggerType,
10 pub params: RunParams,
11 pub triggers: Option<Vec<(Trigger, PlayerId)>>,
13}
14
15impl TriggerWaiting {
16 pub fn get_controller(&self, trigger: &Trigger) -> Option<PlayerId> {
19 let triggers = self.triggers.as_ref()?;
20 triggers
21 .iter()
22 .find(|(t, _)| t.id == trigger.id)
23 .map(|(_, player)| *player)
24 }
25}