Struct fyrox_scripts::camera::FlyingCameraController
source · pub struct FlyingCameraController {Show 21 fields
pub yaw: InheritableVariable<f32>,
pub pitch: InheritableVariable<f32>,
pub speed: InheritableVariable<f32>,
pub sensitivity: InheritableVariable<f32>,
pub pitch_limit: InheritableVariable<Range<f32>>,
pub move_forward_key: InheritableVariable<KeyBinding>,
pub move_backward_key: InheritableVariable<KeyBinding>,
pub move_left_key: InheritableVariable<KeyBinding>,
pub move_right_key: InheritableVariable<KeyBinding>,
pub acceleration_curve: InheritableVariable<Curve>,
pub deceleration_curve: InheritableVariable<Curve>,
pub acceleration_time: InheritableVariable<f32>,
pub deceleration_time: InheritableVariable<f32>,
pub reactivity: InheritableVariable<f32>,
pub velocity: InheritableVariable<Vector3<f32>>,
pub target_velocity: InheritableVariable<Vector3<f32>>,
pub acceleration_coeff: f32,
pub move_forward: bool,
pub move_backward: bool,
pub move_left: bool,
pub move_right: bool,
}
Expand description
Flying camera controller script is used to create flying cameras, that can be rotated via mouse and moved via keyboard keys. Use it, if you need to create a sort of “spectator” camera. To use it, all you need to do is to assign it to your camera node (or one if its parent nodes).
Fields§
§yaw: InheritableVariable<f32>
§pitch: InheritableVariable<f32>
§speed: InheritableVariable<f32>
§sensitivity: InheritableVariable<f32>
§pitch_limit: InheritableVariable<Range<f32>>
§move_forward_key: InheritableVariable<KeyBinding>
§move_backward_key: InheritableVariable<KeyBinding>
§move_left_key: InheritableVariable<KeyBinding>
§move_right_key: InheritableVariable<KeyBinding>
§acceleration_curve: InheritableVariable<Curve>
§deceleration_curve: InheritableVariable<Curve>
§acceleration_time: InheritableVariable<f32>
§deceleration_time: InheritableVariable<f32>
§reactivity: InheritableVariable<f32>
§velocity: InheritableVariable<Vector3<f32>>
§target_velocity: InheritableVariable<Vector3<f32>>
§acceleration_coeff: f32
§move_forward: bool
§move_backward: bool
§move_left: bool
§move_right: bool
Implementations§
source§impl FlyingCameraController
impl FlyingCameraController
pub const YAW: &'static str = "yaw"
pub const PITCH: &'static str = "pitch"
pub const SPEED: &'static str = "speed"
pub const SENSITIVITY: &'static str = "sensitivity"
pub const PITCH_LIMIT: &'static str = "pitch_limit"
pub const MOVE_FORWARD_KEY: &'static str = "move_forward_key"
pub const MOVE_BACKWARD_KEY: &'static str = "move_backward_key"
pub const MOVE_LEFT_KEY: &'static str = "move_left_key"
pub const MOVE_RIGHT_KEY: &'static str = "move_right_key"
pub const ACCELERATION_CURVE: &'static str = "acceleration_curve"
pub const DECELERATION_CURVE: &'static str = "deceleration_curve"
pub const ACCELERATION_TIME: &'static str = "acceleration_time"
pub const DECELERATION_TIME: &'static str = "deceleration_time"
pub const REACTIVITY: &'static str = "reactivity"
Trait Implementations§
source§impl Clone for FlyingCameraController
impl Clone for FlyingCameraController
source§fn clone(&self) -> FlyingCameraController
fn clone(&self) -> FlyingCameraController
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for FlyingCameraController
impl Debug for FlyingCameraController
source§impl Default for FlyingCameraController
impl Default for FlyingCameraController
source§impl Reflect for FlyingCameraControllerwhere
Self: 'static,
InheritableVariable<f32>: Reflect,
InheritableVariable<Range<f32>>: Reflect,
InheritableVariable<KeyBinding>: Reflect,
InheritableVariable<Curve>: Reflect,
impl Reflect for FlyingCameraControllerwhere
Self: 'static,
InheritableVariable<f32>: Reflect,
InheritableVariable<Range<f32>>: Reflect,
InheritableVariable<KeyBinding>: Reflect,
InheritableVariable<Curve>: Reflect,
fn source_path() -> &'static str
fn type_name(&self) -> &'static str
fn doc(&self) -> &'static str
source§fn assembly_name(&self) -> &'static str
fn assembly_name(&self) -> &'static str
Returns a parent assembly name of the type that implements this trait. WARNING: You should use
proc-macro (
#[derive(Reflect)]
) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.source§fn type_assembly_name() -> &'static str
fn type_assembly_name() -> &'static str
Returns a parent assembly name of the type that implements this trait. WARNING: You should use
proc-macro (
#[derive(Reflect)]
) to ensure that this method will return correct assembly
name. In other words - there’s no guarantee, that any implementation other than proc-macro
will return a correct name of the assembly. Alternatively, you can use env!("CARGO_PKG_NAME")
as an implementation.fn fields_info(&self, func: &mut dyn FnMut(&[FieldInfo<'_, '_>]))
fn into_any(self: Box<Self>) -> Box<dyn Any>
fn set( &mut self, value: Box<dyn Reflect> ) -> Result<Box<dyn Reflect>, Box<dyn Reflect>>
fn as_any(&self, func: &mut dyn FnMut(&dyn Any))
fn as_any_mut(&mut self, func: &mut dyn FnMut(&mut dyn Any))
fn as_reflect(&self, func: &mut dyn FnMut(&dyn Reflect))
fn as_reflect_mut(&mut self, func: &mut dyn FnMut(&mut dyn Reflect))
fn fields(&self, func: &mut dyn FnMut(&[&dyn Reflect]))
fn fields_mut(&mut self, func: &mut dyn FnMut(&mut [&mut dyn Reflect]))
fn field(&self, name: &str, func: &mut dyn FnMut(Option<&dyn Reflect>))
fn field_mut( &mut self, name: &str, func: &mut dyn FnMut(Option<&mut dyn Reflect>) )
source§fn set_field(
&mut self,
field: &str,
value: Box<dyn Reflect>,
func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>)
)
fn set_field( &mut self, field: &str, value: Box<dyn Reflect>, func: &mut dyn FnMut(Result<Box<dyn Reflect>, Box<dyn Reflect>>) )
Calls user method specified with
#[reflect(setter = ..)]
or falls back to
Reflect::field_mut
fn as_array(&self, func: &mut dyn FnMut(Option<&(dyn ReflectArray + 'static)>))
fn as_array_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectArray + 'static)>) )
fn as_list(&self, func: &mut dyn FnMut(Option<&(dyn ReflectList + 'static)>))
fn as_list_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectList + 'static)>) )
fn as_inheritable_variable( &self, func: &mut dyn FnMut(Option<&(dyn ReflectInheritableVariable + 'static)>) )
fn as_inheritable_variable_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectInheritableVariable + 'static)>) )
fn as_hash_map( &self, func: &mut dyn FnMut(Option<&(dyn ReflectHashMap + 'static)>) )
fn as_hash_map_mut( &mut self, func: &mut dyn FnMut(Option<&mut (dyn ReflectHashMap + 'static)>) )
source§impl ScriptTrait for FlyingCameraController
impl ScriptTrait for FlyingCameraController
source§fn on_os_event(
&mut self,
event: &Event<()>,
context: &mut ScriptContext<'_, '_, '_>
)
fn on_os_event( &mut self, event: &Event<()>, context: &mut ScriptContext<'_, '_, '_> )
Called when there is an event from the OS. The method allows you to “listen” for events
coming from the main window of your game. It could be used to react to pressed keys, mouse movements,
etc.
source§fn on_update(&mut self, context: &mut ScriptContext<'_, '_, '_>)
fn on_update(&mut self, context: &mut ScriptContext<'_, '_, '_>)
Performs a single update tick of the script. The method may be called multiple times per frame, but it is guaranteed
that the rate of call is stable and by default it will be called 60 times per second, but can be changed by using
crate::engine::executor::Executor::set_desired_update_rate
method.source§fn on_init(&mut self, ctx: &mut ScriptContext<'_, '_, '_>)
fn on_init(&mut self, ctx: &mut ScriptContext<'_, '_, '_>)
The method is called when the script wasn’t initialized yet. It is guaranteed to be called once,
and before any other methods of the script. Read more
source§fn on_start(&mut self, ctx: &mut ScriptContext<'_, '_, '_>)
fn on_start(&mut self, ctx: &mut ScriptContext<'_, '_, '_>)
The method is called after
ScriptTrait::on_init
, but in separate pass, which means that all
script instances are already initialized. However, if implementor of this method creates a new
node with a script, there will be a second pass of initialization. The method is guaranteed to
be called once.source§fn on_deinit(&mut self, ctx: &mut ScriptDeinitContext<'_, '_, '_>)
fn on_deinit(&mut self, ctx: &mut ScriptDeinitContext<'_, '_, '_>)
The method is called when the script is about to be destroyed. It is guaranteed to be called last.
source§fn on_message(
&mut self,
message: &mut (dyn ScriptMessagePayload + 'static),
ctx: &mut ScriptMessageContext<'_, '_, '_>
)
fn on_message( &mut self, message: &mut (dyn ScriptMessagePayload + 'static), ctx: &mut ScriptMessageContext<'_, '_, '_> )
Allows you to react to certain script messages. It could be used for communication between scripts; to
bypass borrowing issues. If you need to receive messages of a particular type, you must subscribe to a type
explicitly. Usually it is done in
ScriptTrait::on_start
method: Read moresource§impl Visit for FlyingCameraControllerwhere
InheritableVariable<f32>: Visit,
InheritableVariable<Range<f32>>: Visit,
InheritableVariable<KeyBinding>: Visit,
InheritableVariable<Curve>: Visit,
InheritableVariable<Vector3<f32>>: Visit,
impl Visit for FlyingCameraControllerwhere
InheritableVariable<f32>: Visit,
InheritableVariable<Range<f32>>: Visit,
InheritableVariable<KeyBinding>: Visit,
InheritableVariable<Curve>: Visit,
InheritableVariable<Vector3<f32>>: Visit,
source§fn visit(&mut self, name: &str, visitor: &mut Visitor) -> VisitResult
fn visit(&mut self, name: &str, visitor: &mut Visitor) -> VisitResult
Read or write this value, depending on whether Visitor::is_reading() is true or false. Read more
Auto Trait Implementations§
impl !Freeze for FlyingCameraController
impl !RefUnwindSafe for FlyingCameraController
impl Send for FlyingCameraController
impl !Sync for FlyingCameraController
impl Unpin for FlyingCameraController
impl UnwindSafe for FlyingCameraController
Blanket Implementations§
source§impl<T> AsyncTaskResult for T
impl<T> AsyncTaskResult for T
source§impl<T> BaseScript for T
impl<T> BaseScript for T
source§fn clone_box(&self) -> Box<dyn ScriptTrait>
fn clone_box(&self) -> Box<dyn ScriptTrait>
Creates exact copy of the script.
source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Casts self as
Any
source§fn as_any_ref_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_ref_mut(&mut self) -> &mut (dyn Any + 'static)
Casts self as
Any
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
Mutably borrows from an owned value. Read more
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>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
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)
Convert
&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)
Convert
&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> FieldValue for Twhere
T: 'static,
impl<T> FieldValue for Twhere
T: 'static,
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>
Converts
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>
Converts
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> Pointable for T
impl<T> Pointable for T
source§impl<T> ReflectBase for Twhere
T: Reflect,
impl<T> ReflectBase for Twhere
T: Reflect,
fn as_any_raw(&self) -> &(dyn Any + 'static)
fn as_any_raw_mut(&mut self) -> &mut (dyn Any + 'static)
source§impl<T> ResolvePath for Twhere
T: Reflect,
impl<T> ResolvePath for Twhere
T: Reflect,
fn resolve_path<'p>( &self, path: &'p str, func: &mut dyn FnMut(Result<&(dyn Reflect + 'static), ReflectPathError<'p>>) )
fn resolve_path_mut<'p>( &mut self, path: &'p str, func: &mut dyn FnMut(Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>) )
fn get_resolve_path<'p, T>(
&self,
path: &'p str,
func: &mut dyn FnMut(Result<&T, ReflectPathError<'p>>)
)where
T: Reflect,
fn get_resolve_path_mut<'p, T>(
&mut self,
path: &'p str,
func: &mut dyn FnMut(Result<&mut T, ReflectPathError<'p>>)
)where
T: Reflect,
source§impl<T> ScriptMessagePayload for T
impl<T> ScriptMessagePayload for T
source§fn as_any_ref(&self) -> &(dyn Any + 'static)
fn as_any_ref(&self) -> &(dyn Any + 'static)
Returns
self
as &dyn Any
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Returns
self
as &dyn Any
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.