Session in bones_lib - Rust

#[non_exhaustive]

pub struct Session { pub world: World, pub stages: SystemStages, pub active: bool, pub visible: bool, pub priority: i32, pub runner: Box<dyn SessionRunner>, }
Expand description
This struct is marked as non-exhaustive

Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.

The ECS world for the core.

The system stages.

Whether or not this session should have it’s systems run.

Whether or not this session should be rendered.

The priority of this session relative to other sessions in the Game.

The session runner to use for this session.

Source§
Source

Snapshot the world state.

This is the same as core.world.clone(), but it is more explicit.

Source

Restore the world state.

Re-sets the world state to that of the provided world, which may or may not have been created with snapshot().

This is the same as doing an std::mem::swap on self.world, but it is more explicit.

Source

Set the session runner for this session.

Source

Execute the systems on the given world.

Source

If SessionStarted resource indicates have not yet started, perform startup tasks (insert startup resources, run startup systems).

For advanced use cases in which want to only insert startup resources, or run startup systems and split this behavior, see SystemStages::handle_startup_systems and [SystemStages::handle_startup_resources].

While this is used internally by SystemStages::run, this is also used for resetting world. This allows world to immediately startup and re-initialize after reset.

§Panics

May panic if resources are borrowed, should not borrow resources when calling.

Source

If SessionStarted resource indicates startup resources have not yet been inserted, will do so and update SessionStarted.

This function contains only half of stage’s startup behavior, see SystemStages::handle_startup if not intending to split resource insertion from startup systems (Splitting these is more for advanced special cases).

§Panics

May panic if resources are borrowed, should not borrow resources when calling.

Source

If SessionStarted resource indicates startup systems have not yet been executed, will do so and update SessionStarted.

This function contains only half of stage’s startup behavior, see SystemStages::handle_startup if not intending to split startup system execution from startup resource insertion (Splitting these is more for advanced special cases).

§Panics

May panic if resources are borrowed, should not borrow resources when calling.

§
§
§
§
§
§

Source§
Source§
Source§
Source§
Source§

Returns the argument unchanged.

§
§

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more

§

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Source§
Source§

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§
§

Write the default value of the type to the pointer. Read more

§

Get a callback suitable for [SchemaData].

Source§
Source§

🔬This is a nightly-only experimental API. (arbitrary_self_types)

The target type on which the method may be called.

Source§
Source§

The type returned in the event of a conversion error.

Source§

Performs the conversion.

Source§
Source§

The type returned in the event of a conversion error.

Source§

Performs the conversion.

§

§

§