Struct bevy_scene_hook::HookedSceneState
source · [−]pub struct HookedSceneState<'w, 's, M: Component> { /* private fields */ }Expand description
Convenience parameter to query if a scene marked with M has been loaded.
Example
use bevy_scene_hook::{Hook, HookPlugin, HookingSceneSpawner, HookedSceneState};
#[derive(Component)]
struct Graveyard;
#[derive(Clone, Copy, Hash, PartialEq, Eq, Debug)]
pub enum GameState { Loading, Playing }
fn load_scene(
mut scene_spawner: HookingSceneSpawner,
mut cmds: Commands,
asset_server: Res<AssetServer>,
) {
let res = scene_spawner.with_comp_hook(
asset_server.load("scene.glb#Scene0"),
|name: &Name, cmds| {
match name.as_str() {
"OppoCardSpawn" => cmds.insert(GlobalTransform::default()),
_ => cmds,
};
},
);
cmds.entity(res.entity).insert(Graveyard);
}
fn complete_load_screen(
mut state: ResMut<State<GameState>>,
scene: HookedSceneState<Graveyard>,
) {
if scene.is_loaded() {
state.set(GameState::Playing).expect("no state issues");
}
}
fn main() {
let mut app = App::new();
app
.add_plugin(HookPlugin)
.add_state(GameState::Loading)
.add_startup_system(load_scene)
.add_system_set(
SystemSet::on_update(GameState::Loading)
.with_system(complete_load_screen),
);
}Implementations
sourceimpl<'w, 's, T: Component> HookedSceneState<'w, 's, T>
impl<'w, 's, T: Component> HookedSceneState<'w, 's, T>
Trait Implementations
sourceimpl<'w, 's, M: Component> SystemParam for HookedSceneState<'w, 's, M>
impl<'w, 's, M: Component> SystemParam for HookedSceneState<'w, 's, M>
Auto Trait Implementations
impl<'w, 's, M> !RefUnwindSafe for HookedSceneState<'w, 's, M>
impl<'w, 's, M> Send for HookedSceneState<'w, 's, M>
impl<'w, 's, M> Sync for HookedSceneState<'w, 's, M>
impl<'w, 's, M> Unpin for HookedSceneState<'w, 's, M>
impl<'w, 's, M> !UnwindSafe for HookedSceneState<'w, 's, M>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more