diff --git a/src/game/objects.rs b/src/game/objects.rs index da4f096..1ede2d5 100644 --- a/src/game/objects.rs +++ b/src/game/objects.rs @@ -1,9 +1,11 @@ use avian2d::prelude::*; use bevy::prelude::*; +use crate::AppState; + /// Basic implementation of a physics object #[derive(Component, Default)] -#[require(Collider, Mesh2d, MeshMaterial2d, Restitution = Restitution::new(1.0), RigidBody, TransformInterpolation, Transform)] +#[require(Collider, Mesh2d, MeshMaterial2d, Restitution = Restitution::new(1.0), RigidBody, TransformInterpolation, Transform, StateScoped = StateScoped(AppState::InGame))] struct GameObject; /// Radius of a ball diff --git a/src/lib.rs b/src/lib.rs index 113b8b6..be09d25 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -40,6 +40,7 @@ struct Source { } #[derive(States, Default, Debug, Clone, PartialEq, Eq, Hash)] +#[states(scoped_entities)] enum AppState { #[default] Loading,