From 6367a9ba5a549b62f01da61fb50323877b9f52ff Mon Sep 17 00:00:00 2001 From: tcmal Date: Sun, 25 Aug 2024 17:44:24 +0100 Subject: refactor(all): move types to -skeleton --- stockton-skeleton/src/session.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 stockton-skeleton/src/session.rs (limited to 'stockton-skeleton/src/session.rs') diff --git a/stockton-skeleton/src/session.rs b/stockton-skeleton/src/session.rs new file mode 100644 index 0000000..5b91739 --- /dev/null +++ b/stockton-skeleton/src/session.rs @@ -0,0 +1,33 @@ +//! The thing you play on and all the associated state. + +use legion::systems::Builder; +use legion::*; + +/// A loaded world. +pub struct Session { + pub world: World, + pub resources: Resources, + schedule: Schedule, +} + +impl Session { + /// The level can be any format, as long as it has the required features of a bsp. + pub fn new(add_systems: S) -> Session { + let world = World::default(); + + let resources = Resources::default(); + let mut schedule = Schedule::builder(); + add_systems(&mut schedule); + let schedule = schedule.build(); + + Session { + world, + resources, + schedule, + } + } + + pub fn do_update(&mut self) { + self.schedule.execute(&mut self.world, &mut self.resources); + } +} -- cgit v1.2.3