pub struct TnuaBuiltinClimb {
pub anchor: Vector3,
pub desired_vec_to_anchor: Vector3,
pub desired_climb_motion: Vector3,
pub desired_forward: Option<Dir3>,
pub hard_stop_up: Option<Vector3>,
pub hard_stop_down: Option<Vector3>,
}Expand description
An action for climbing on things.
Fields§
§anchor: Vector3A point on the climbed entity where the character touches it.
Note that this does not actually have to be on any actual collider. It can be a point in the middle of the air, and the action will cause the character to pretend there is something there and climb on it.
desired_vec_to_anchor: Vector3The position of the anchor compared to the character.
The action will try to maintain this horizontal relative position.
desired_climb_motion: Vector3The direction (in the world space) and speed to climb at (move up/down the entity)
desired_forward: Option<Dir3>Force the character to face in a particular direction.
hard_stop_up: Option<Vector3>Prevent the character from climbing above this point.
Tip: use
probe_extent_from_closest_point
to find this point.
hard_stop_down: Option<Vector3>Prevent the character from climbing below this point.
Tip: use
probe_extent_from_closest_point
to find this point.
Trait Implementations§
Source§impl Clone for TnuaBuiltinClimb
impl Clone for TnuaBuiltinClimb
Source§fn clone(&self) -> TnuaBuiltinClimb
fn clone(&self) -> TnuaBuiltinClimb
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Default for TnuaBuiltinClimb
impl Default for TnuaBuiltinClimb
Source§fn default() -> TnuaBuiltinClimb
fn default() -> TnuaBuiltinClimb
Source§impl<B> TnuaAction<B> for TnuaBuiltinClimbwhere
B: TnuaBasisWithGround + TnuaBasis,
impl<B> TnuaAction<B> for TnuaBuiltinClimbwhere
B: TnuaBasisWithGround + TnuaBasis,
type Config = TnuaBuiltinClimbConfig
Source§type Memory = TnuaBuiltinClimbMemory
type Memory = TnuaBuiltinClimbMemory
Source§fn initiation_decision(
&self,
_config: &Self::Config,
_sensors: &B::Sensors<'_>,
_ctx: TnuaActionContext<'_, B>,
_being_fed_for: &Stopwatch,
) -> TnuaActionInitiationDirective
fn initiation_decision( &self, _config: &Self::Config, _sensors: &B::Sensors<'_>, _ctx: TnuaActionContext<'_, B>, _being_fed_for: &Stopwatch, ) -> TnuaActionInitiationDirective
Source§fn apply(
&self,
config: &Self::Config,
memory: &mut Self::Memory,
_sensors: &B::Sensors<'_>,
ctx: TnuaActionContext<'_, B>,
lifecycle_status: TnuaActionLifecycleStatus,
motor: &mut TnuaMotor,
) -> TnuaActionLifecycleDirective
fn apply( &self, config: &Self::Config, memory: &mut Self::Memory, _sensors: &B::Sensors<'_>, ctx: TnuaActionContext<'_, B>, lifecycle_status: TnuaActionLifecycleStatus, motor: &mut TnuaMotor, ) -> TnuaActionLifecycleDirective
Source§fn influence_basis(
&self,
_config: &Self::Config,
_memory: &Self::Memory,
_ctx: TnuaBasisContext<'_>,
_basis_input: &B,
_basis_config: &<B as TnuaBasis>::Config,
basis_memory: &mut <B as TnuaBasis>::Memory,
)
fn influence_basis( &self, _config: &Self::Config, _memory: &Self::Memory, _ctx: TnuaBasisContext<'_>, _basis_input: &B, _basis_config: &<B as TnuaBasis>::Config, basis_memory: &mut <B as TnuaBasis>::Memory, )
Auto Trait Implementations§
impl Freeze for TnuaBuiltinClimb
impl RefUnwindSafe for TnuaBuiltinClimb
impl Send for TnuaBuiltinClimb
impl Sync for TnuaBuiltinClimb
impl Unpin for TnuaBuiltinClimb
impl UnsafeUnpin for TnuaBuiltinClimb
impl UnwindSafe for TnuaBuiltinClimb
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§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>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§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.Source§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.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromTemplate for T
impl<T> FromTemplate for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Source§impl<T> Template for T
impl<T> Template for T
Source§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
entity context to produce a Template::Output.Source§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clone.