better global state structure?
This commit is contained in:
1 parent
30bc55c78e
commit
bae17235c6
23 files changed
+335
-230
No files matched your search
@@ -142,10 +142,10 @@ pub trait SensorUi<State> {
|
||||
fn run_sensors(&mut self, cursor: &CursorState, window_size: Vec2);
|
||||
}
|
||||
|
||||
impl<State: 'static + HasRsc> SensorUi<State> for State {
|
||||
impl<State: RunEvents> SensorUi<State> for State {
|
||||
fn run_sensors(&mut self, cursor: &CursorState, window_size: Vec2) {
|
||||
let layers = std::mem::take(&mut self.ui().layers);
|
||||
let mut active = std::mem::take(&mut self.events().get_type::<CursorSense>().active);
|
||||
let layers = std::mem::take(&mut self.ui_mut().layers);
|
||||
let mut active = std::mem::take(&mut self.events_mut().get_type::<CursorSense>().active);
|
||||
for layer in layers.indices().rev() {
|
||||
let mut sensed = false;
|
||||
for (id, sensor) in active.get_mut(&layer).into_iter().flatten() {
|
||||
@@ -174,8 +174,8 @@ impl<State: 'static + HasRsc> SensorUi<State> for State {
|
||||
break;
|
||||
}
|
||||
}
|
||||
self.events().get_type::<CursorSense>().active = active;
|
||||
self.ui().layers = layers;
|
||||
self.events_mut().get_type::<CursorSense>().active = active;
|
||||
self.ui_mut().layers = layers;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user