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 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> 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 more