signal_handler/
signal-handler.rs1use mittens_engine::{engine, engine::ecs::SignalEmitter, scripting, utils};
8
9fn main() {
10 mittens_engine::example_support::ensure_model_assets();
11 utils::logger::init();
12
13 let world = engine::ecs::World::default();
14 let mut universe = engine::Universe::new(world);
15
16 let source = include_str!("signal-handler.mms");
19 let output = scripting::MeowMeowRunner::eval_with_world(
20 source,
21 &mut universe.world,
22 &mut universe.systems.rx,
23 &mut universe.command_queue,
24 );
25
26 for err in &output.errors {
27 eprintln!("[mms] {err}");
28 }
29 if !output.errors.is_empty() {
30 std::process::exit(1);
31 }
32
33 for intent in output.intents {
36 universe
37 .command_queue
38 .push_intent_now(engine::ecs::ComponentId::default(), intent);
39 }
40
41 universe.systems.process_commands(
42 &mut universe.world,
43 &mut universe.visuals,
44 &mut universe.render_assets,
45 &mut universe.command_queue,
46 );
47
48 universe.enable_repl();
49 engine::Windowing::run_app(universe).expect("Windowing failed");
50}