topaz 0.4.0

A tiny game engine.
Documentation
extern crate topaz;

use std::rc::Rc;

pub struct HelloWorldSystem;
impl<T: topaz::HasComponents,S,E: topaz::Event> topaz::System<T,S,E> for HelloWorldSystem {
    fn operate(&self, universe: &mut topaz::Universe<T,S,E>, _: Rc<E>) {
        println!("Hello World!");
        universe.do_event(E::with_id(topaz::EVENT_QUIT));
    }
}

fn main() {
    let mut universe:topaz::Universe<topaz::NullEntity,(),topaz::SimpleEvent> = topaz::Universe::new(());
    
    universe.add_and_subscribe(Rc::new(HelloWorldSystem{}),vec![topaz::EVENT_INIT]);
    
    universe.run();
}