summaryrefslogtreecommitdiff
path: root/engine-ecs
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ecs')
-rw-r--r--engine-ecs/src/lib.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/engine-ecs/src/lib.rs b/engine-ecs/src/lib.rs
index 8b3b8c3..6880a24 100644
--- a/engine-ecs/src/lib.rs
+++ b/engine-ecs/src/lib.rs
@@ -50,7 +50,13 @@ use crate::query::{
use crate::sole::{Single, Sole};
use crate::stats::Stats;
use crate::system::observer::Observer;
-use crate::system::{Callbacks, Metadata as SystemMetadata, System, SystemComponent};
+use crate::system::{
+ Callbacks,
+ Metadata as SystemMetadata,
+ Param as SystemParam,
+ System,
+ SystemComponent,
+};
use crate::uid::Uid;
pub mod actions;
@@ -625,6 +631,16 @@ impl Default for World
}
}
+impl<'world> SystemParam<'world> for &'world World
+{
+ type Input = ();
+
+ fn new(world: &'world World, _system_metadata: &SystemMetadata) -> Self
+ {
+ world
+ }
+}
+
/// The result of calling [`World::step`].
pub enum StepResult
{