Struct bevy_state_curves::ObjectState
source · pub struct ObjectState { /* private fields */ }Expand description
A component that contains all of this ObjectIds curves
Implementations§
source§impl ObjectState
impl ObjectState
sourcepub fn new(tick: GameTick) -> Self
pub fn new(tick: GameTick) -> Self
Constructs a new empty ObjectState
sourcepub fn created_tick(&self) -> GameTick
pub fn created_tick(&self) -> GameTick
Returns the tick that this Object was created
sourcepub fn destroyed_tick(&self) -> Option<GameTick>
pub fn destroyed_tick(&self) -> Option<GameTick>
Returns the tick that this Object was destroyed
sourcepub fn is_destroyed(&self) -> bool
pub fn is_destroyed(&self) -> bool
Returns whether this object has been destroyed or not
sourcepub fn get_curves(&self, curve_name: &str) -> Option<&(CurveInfo, CurveData)>
pub fn get_curves(&self, curve_name: &str) -> Option<&(CurveInfo, CurveData)>
Gets a reference to the CurveData of this object
sourcepub fn register_new_curve(
&mut self,
curve_name: &str,
curve_type: CurveType,
component_type_name: String
)
pub fn register_new_curve( &mut self, curve_name: &str, curve_type: CurveType, component_type_name: String )
Registers a new curve under the given curve_name with the given curve_type for the given component_type_name. Is automatically called by [add_keyframe] as needed
sourcepub fn add_keyframe(
&mut self,
curve_name: &str,
tick: GameTick,
keyframe: CurveKeyFrame
)
pub fn add_keyframe( &mut self, curve_name: &str, tick: GameTick, keyframe: CurveKeyFrame )
sourcepub fn add_stepped_keyframe<T: SteppedKeyframe>(
&mut self,
curve_name: &str,
tick: GameTick,
keyframe: T
)
pub fn add_stepped_keyframe<T: SteppedKeyframe>( &mut self, curve_name: &str, tick: GameTick, keyframe: T )
Helper function to insert a [SteppedKeyFrame] into a curve for a specific tick
sourcepub fn add_linear_keyframe<T: LinearKeyFrame>(
&mut self,
curve_name: &str,
tick: GameTick,
keyframe: T
)
pub fn add_linear_keyframe<T: LinearKeyFrame>( &mut self, curve_name: &str, tick: GameTick, keyframe: T )
Helper function to insert a LinearKeyFrame into a curve for a specific tick
sourcepub fn add_pulse_keyframe<T: PulseKeyframe>(
&mut self,
curve_name: &str,
tick: GameTick,
keyframe: T
)
pub fn add_pulse_keyframe<T: PulseKeyframe>( &mut self, curve_name: &str, tick: GameTick, keyframe: T )
Helper function to insert a PulseKeyframe into a curve for a specific tick
sourcepub fn remove_keyframe(&mut self, curve_name: &str, tick: GameTick)
pub fn remove_keyframe(&mut self, curve_name: &str, tick: GameTick)
Removes the keyframe from the given GameTick and returns it if it exists.
Silently fails if the curve has not been registered or if the keyframe does not exist
sourcepub fn get_keyframes_in_tick(
&self,
tick: GameTick
) -> Vec<(String, CurveKeyFrame)>
pub fn get_keyframes_in_tick( &self, tick: GameTick ) -> Vec<(String, CurveKeyFrame)>
Returns all keyframes that exist in this tick.
Note
This does NOT return an accurate state of the object for the given tick. This just returns all keyframes that exists
in the given tick. Use ObjectState::get_object_state_for_tick to get the canonical state for a tick.
sourcepub fn get_object_state_for_tick(
&self,
tick: GameTick
) -> Vec<(String, CurveKeyFrame)>
pub fn get_object_state_for_tick( &self, tick: GameTick ) -> Vec<(String, CurveKeyFrame)>
Returns a vec of what the calculated objects state should be for this tick
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ObjectState
impl Send for ObjectState
impl Sync for ObjectState
impl Unpin for ObjectState
impl !UnwindSafe for ObjectState
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
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
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T [ShaderType] for self. When used in [AsBindGroup]
derives, it is safe to assume that all images in self exist.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere C: Component,
fn component_ids( components: &mut Components, storages: &mut Storages, ids: &mut impl FnMut(ComponentId) )
unsafe fn from_components<T, F>(ctx: &mut T, func: &mut F) -> Cwhere F: for<'a> FnMut(&'a mut T) -> OwningPtr<'a>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.