observer_router/
observer-router.rs1use mittens_engine::engine::ecs::SignalEmitter;
2use mittens_engine::{engine, scripting, utils};
3
4fn main() {
5 mittens_engine::example_support::ensure_model_assets();
6 utils::logger::init();
7
8 let mut universe = engine::Universe::new(engine::ecs::World::default());
9
10 let output = scripting::MeowMeowRunner::eval_with_world_at_path(
12 include_str!("observer-router.mms"),
13 Some("examples/observer-router.mms"),
14 &mut universe.world,
15 &mut universe.systems.rx,
16 &mut universe.command_queue,
17 );
18
19 for error in &output.errors {
20 eprintln!("[mms] {error}");
21 }
22 println!(
23 "[mms] {} intent(s) from observer-router.mms",
24 output.intents.len()
25 );
26
27 for intent in output.intents {
28 universe
29 .command_queue
30 .push_intent_now(engine::ecs::ComponentId::default(), intent);
31 }
32
33 universe.systems.process_commands(
34 &mut universe.world,
35 &mut universe.visuals,
36 &mut universe.render_assets,
37 &mut universe.command_queue,
38 );
39
40 universe.enable_repl();
41 engine::Windowing::run_app(universe).expect("Windowing failed");
42}