single global observers root node (#25)

plus auto name observer macro `global_observer`
This commit is contained in:
extrawurst
2025-04-07 18:22:29 +02:00
committed by GitHub
parent 92da1587ba
commit ddc57ec1e8
17 changed files with 94 additions and 37 deletions

View File

@@ -1,5 +1,5 @@
use crate::{
GameState,
GameState, global_observer,
tb_entities::{Movable, MoveTarget},
};
use bevy::{prelude::*, utils::HashSet};
@@ -20,10 +20,11 @@ pub struct TriggerMovableEvent(pub HashSet<String>);
pub fn plugin(app: &mut App) {
app.register_type::<ActiveMovable>();
app.add_systems(Update, move_active.run_if(in_state(GameState::Playing)));
app.add_observer(trigger);
global_observer!(app, on_movable_event);
}
fn trigger(
fn on_movable_event(
trigger: Trigger<TriggerMovableEvent>,
mut commands: Commands,
uninit_movables: Query<