corrosive-ecs-core 0.1.0

Core Functionality of Corrosive Engine
Documentation
use bus::{Bus, BusReader};

/// Used by engine to manage task schedules.
pub struct Trigger(Bus<()>);
/// Used by engine to manage task schedules.
pub struct TriggerReader(BusReader<()>);
impl Trigger {
    pub fn new() -> Trigger {
        Trigger(Bus::new(1))
    }

    pub fn add_trigger(&mut self) -> TriggerReader {
        TriggerReader(self.0.add_rx())
    }

    pub fn trigger(&mut self) {
        self.0.broadcast(())
    }
}
impl TriggerReader {
    pub fn read(&mut self, message: &str) {
        self.0.recv().expect(message);
    }
}