summaryrefslogtreecommitdiff
path: root/ecs/examples/error_handling.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ecs/examples/error_handling.rs')
-rw-r--r--ecs/examples/error_handling.rs79
1 files changed, 0 insertions, 79 deletions
diff --git a/ecs/examples/error_handling.rs b/ecs/examples/error_handling.rs
deleted file mode 100644
index dc34c5f..0000000
--- a/ecs/examples/error_handling.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-use ecs::error::Error;
-use ecs::event::component::{Changed, EventMatchExt};
-use ecs::pair::Pair;
-use ecs::phase::UPDATE;
-use ecs::query::Query;
-use ecs::system::observer::Observe;
-use ecs::{Component, World, error};
-use tracing::level_filters::LevelFilter;
-use tracing_subscriber::EnvFilter;
-use tracing_subscriber::fmt::time::ChronoLocal;
-use tracing_subscriber::layer::SubscriberExt;
-use tracing_subscriber::util::SubscriberInitExt;
-
-#[derive(Component)]
-struct State
-{
- value: u32,
-}
-
-fn do_something_fallible(query: Query<(&mut State,)>) -> Result<(), Error>
-{
- for (mut state,) in &query {
- state.value += 1;
-
- state.set_changed();
-
- if state.value > 3 {
- return Err(error!("Invalid state value {}", state.value));
- }
- }
-
- Ok(())
-}
-
-fn handle_state_changed(observe: Observe<Pair<Changed, State>>) -> Result<(), Error>
-{
- for evt_match in &observe {
- let state = evt_match.get_ent_target_comp();
-
- if state.value > 3 {
- return Err(error!("Invalid state value {}", state.value));
- }
-
- tracing::info!("State has valid value {}", state.value);
- }
-
- Ok(())
-}
-
-fn main()
-{
- tracing_subscriber::registry()
- .with(
- tracing_subscriber::fmt::layer()
- .with_timer(ChronoLocal::new("%T%.6f".to_string())),
- )
- .with(
- EnvFilter::builder()
- .with_default_directive(LevelFilter::DEBUG.into())
- .from_env()
- .unwrap(),
- )
- .init();
-
- let mut world = World::new();
-
- world.set_err_handler(ecs::error::err_handler_log_error);
-
- world.create_entity((State { value: 0 },));
-
- world.register_system(*UPDATE, do_something_fallible);
-
- world.register_observer(handle_state_changed);
-
- world.step();
- world.step();
- world.step();
- world.step();
-}