pub struct SpineSynchronizerPlugin<T: SpineSynchronizer, After: SystemSet + Copy> { /* private fields */ }
Expand description

A plugin for synchronizing SpineBone components with a rig.

This plugin is added automatically in SpinePlugin for SpineSync and does not need to be added manually. However, custom synchronization steps can be added to allow for multiple syncs in a single frame.

use bevy_spine::{prelude::*, SpineSynchronizerSet, SpineSynchronizerPlugin};

#[derive(Component, Debug, Hash, Clone, Copy, PartialEq, Eq)]
pub struct MySpineSync;
pub type MySpineSyncSet = SpineSynchronizerSet<MySpineSync>;
pub type MySpineSyncPlugin = SpineSynchronizerPlugin<MySpineSync, SpineSyncSet>; // add after SpineSync

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(SpinePlugin)
        .add_plugin(MySpineSyncPlugin::default())
        .add_system(spawn)
        .add_system(during_sync.in_set(SpineSyncSet::DuringSync))
        .add_system(during_my_sync.in_set(MySpineSyncSet::DuringSync))
        // ...
        .run();
}

fn spawn(mut commands: Commands) {
    // .. load spine ..
    commands.spawn((
        SpineBundle {
            // ..
            ..Default::default()
        },
        // synchronize in both steps
        SpineSync,
        MySpineSync,
    ));
}

fn during_sync() {
    // runs first
}

fn during_my_sync() {
    // runs second
}

Trait Implementations§

source§

impl<T: SpineSynchronizer, S: SpineSynchronizer> Default for SpineSynchronizerPlugin<T, SpineSynchronizerSet<S>>where SpineSynchronizerSet<S>: Copy,

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<T: SpineSynchronizer, A: SystemSet + Copy> Plugin for SpineSynchronizerPlugin<T, A>

source§

fn build(&self, app: &mut App)

Configures the [App] to which this plugin is added.
§

fn setup(&self, _app: &mut App)

Runs after all plugins are built, but before the app runner is called. This can be useful if you have some resource that other plugins need during their build step, but after build you want to remove it and send it to another thread.
§

fn name(&self) -> &str

Configures a name for the [Plugin] which is primarily used for checking plugin uniqueness and debugging.
§

fn is_unique(&self) -> bool

If the plugin can be meaningfully instantiated several times in an App, override this method to return false.

Auto Trait Implementations§

§

impl<T, After> RefUnwindSafe for SpineSynchronizerPlugin<T, After>where After: RefUnwindSafe, T: RefUnwindSafe,

§

impl<T, After> Send for SpineSynchronizerPlugin<T, After>

§

impl<T, After> Sync for SpineSynchronizerPlugin<T, After>

§

impl<T, After> Unpin for SpineSynchronizerPlugin<T, After>where After: Unpin, T: Unpin,

§

impl<T, After> UnwindSafe for SpineSynchronizerPlugin<T, After>where After: UnwindSafe, T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,

§

fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U

Return the T [ShaderType] for self. When used in [AsBindGroup] derives, it is safe to assume that all images in self exist.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for Twhere T: Any,

§

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.
§

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.
§

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.
§

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.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send + 'static>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromWorld for Twhere T: Default,

§

fn from_world(_world: &mut World) -> T

Creates Self using data from the given [World]
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<T> Event for Twhere T: Send + Sync + 'static,