Curvy  8.4.0
PathController Class Reference
+ Inheritance diagram for PathController:
+ Collaboration diagram for PathController:

Detailed Description

Controller working on Curvy Generator Paths

Properties

override bool IsReady [get]
 
override float Length [get]
 Gets the source's length More...
 
CGDataReference Path [get, set]
 Gets or sets the path to use More...
 
CGPath PathData [get]
 Gets the actual CGPath data More...
 
- Properties inherited from CurvyController
float AbsolutePosition [get, set]
 Gets or sets the absolute position on the source, respecting Clamping More...
 
CurvyClamping Clamping [get, set]
 Gets or sets what to do when the source's end is reached More...
 
float DirectionDampingTime [get, set]
 If non zero, the direction vector will not be updated instantly, but using a damping effect that will last the specified amount of time. More...
 
bool IgnoreDirection [get, set]
 Should the controller's orientation ignore the movement direction? More...
 
bool isInitialized [get]
 Whether or not the controller is initialized. Initialization happens before first usage More...
 
abstract bool IsReady [get]
 Returns true if the controller has all it dependencies ready. More...
 
abstract float Length [get]
 Gets the source's length More...
 
bool LockRotation [get, set]
 Used only when OrientationMode is equal to None When true, the controller will enforce the rotation to not change More...
 
MotionConstraints MotionConstraints [get, set]
 Defines what motions are to be frozen More...
 
MovementDirection MovementDirection [get, set]
 Gets or sets the movement direction More...
 
MoveModeEnum MoveMode [get, set]
 Gets or sets the movement mode to use More...
 
float OffsetAngle [get, set]
 Gets or sets the angle to offset (-180° to 180° off Orientation) More...
 
bool OffsetCompensation [get, set]
 Gets or sets whether to compensate offset distances in curvy paths More...
 
float OffsetRadius [get, set]
 Gets or sets the offset radius More...
 
ControllerEvent OnInitialized [get]
 Invoked each time the controller finishes initialization More...
 
OrientationAxisEnum OrientationAxis [get, set]
 Gets or sets the axis to apply the rotation to More...
 
OrientationModeEnum OrientationMode [get, set]
 Gets or sets how to apply rotation More...
 
bool PlayAutomatically [get, set]
 Gets or sets whether to start playing automatically More...
 
CurvyControllerState PlayState [get]
 The state (Playing, paused or stopped) of the controller More...
 
float Position [get, set]
 Gets or sets the position on the source (relative or absolute, depending on MoveMode), respecting Clamping More...
 
CurvyPositionMode PositionMode [get, set]
 Gets or sets the position mode to use More...
 
float RelativePosition [get, set]
 Gets or sets the relative position on the source, respecting Clamping More...
 
virtual Rigidbody Rigidbody [get]
 Gets the rigidbody being controlled by this controller. More...
 
virtual Rigidbody2D Rigidbody2D [get]
 Gets the 2d rigidbody being controlled by this controller. More...
 
virtual bool ShowOffsetSection [get]
 Whether the controller should display the CurvyController properties under the Offset section or not. More...
 
virtual bool ShowOrientationSection [get]
 Whether the controller should display the CurvyController properties under the Orientation section or not. More...
 
float Speed [get, set]
 Gets or sets the speed either in world units or relative, depending on MoveMode More...
 
TargetComponent TargetComponent [get, set]
 The component controlled by the controller More...
 
float TimeSinceLastUpdate [get]
 When in Play mode, the controller update happens only in Update or Late Update of Fixed Update, so the time since last update is always equal to Time.deltaTime When in Edit mode, the controller update happens at various points, including the editor's update, so we compute the time since last update using a time stamp More...
 
virtual Transform Transform [get]
 Gets the transform being controlled by this controller. More...
 
float UpDampingTime [get, set]
 If non zero, the up vector will not be updated instantly, but using a damping effect that will last the specified amount of time. More...
 
bool UseOffset [get]
 Whether this controller uses Offsetting or not More...
 

Protected Member Functions

override float AbsoluteToRelative (float worldUnitDistance)
 Converts distance on source from absolute to relative position. More...
 
override void Advance (float speed, float deltaTime)
 Advance the controller and return the new position. This method will do side effect operations if needed, like updating some internal state, or trigerring events. More...
 
override Vector3 GetInterpolatedSourcePosition (float tf)
 Retrieve the source global position for a given relative position (TF) More...
 
override void GetInterpolatedSourcePosition (float tf, out Vector3 interpolatedPosition, out Vector3 tangent, out Vector3 up)
 Retrieve the source global position, tangent and orientation for a given relative position (TF) More...
 
override Vector3 GetOrientation (float tf)
 Retrieve the source global Orientation/Up-Vector for a given relative position More...
 
override Vector3 GetTangent (float tf)
 Gets global tangent for a given relative position More...
 
override float RelativeToAbsolute (float relativeDistance)
 Converts distance on source from relative to absolute position. More...
 
override void SimulateAdvance (ref float tf, ref MovementDirection curyDirection, float speed, float deltaTime)
 Advance the controller and return the new position. Contrary to Advance, this method will not do any side effect operations, like updating some internal state, or trigerring events More...
 
- Protected Member Functions inherited from CurvyController
virtual void BindEvents ()
 Binds any external events More...
 
float ComputeOffsetCompensatedSpeed (float deltaTime)
 Returns the Speed after applying Offset Compensation OffsetCompensation More...
 
virtual void ComputeTargetPositionAndRotation (out Vector3 targetPosition, out Vector3 targetUp, out Vector3 targetForward)
 Gets the position and rotation of the controller, ignoring any damping or other interpolations More...
 
virtual void Deinitialize ()
 
float GetMaxPosition (CurvyPositionMode positionMode)
 Returns the maximal valid position value using the given CurvyPositionMode More...
 
virtual void GetPositionAndRotation (out Vector3 position, out Quaternion rotation)
 Gets the current position and rotation of the target component More...
 
virtual void Initialize ()
 
virtual void InitializedApplyDeltaTime (float deltaTime)
 Advances the controller state by deltaTime seconds. Is called only for initialized controllers More...
 
virtual void RestorePrePlayState ()
 
virtual void SavePrePlayState ()
 
virtual void SetPositionAndRotation (Vector3 position, Quaternion rotation)
 Sets a new position and rotation to the target component More...
 
virtual void UnbindEvents ()
 Unbinds any external events More...
 
virtual void UserAfterInit ()
 Called after the controller is initialized More...
 
virtual void UserAfterUpdate ()
 Called after the controller has updated it's position or rotation More...
 

Additional Inherited Members

- Public Types inherited from CurvyController
enum  CurvyControllerState { Stopped, Playing, Paused }
 The play state of the controller More...
 
enum  MoveModeEnum { Relative = 0, AbsolutePrecise = 1 }
 Movement method options More...
 
- Public Attributes inherited from CurvyController
CurvyUpdateMethod UpdateIn = CurvyUpdateMethod.Update
 
- Public Member Functions inherited from CurvyController
void ApplyDeltaTime (float deltaTime)
 Advances the controller state by deltaTime seconds, without waiting for the automatic per frame update. Can initialize or deinitialize the controller if the right conditions are met. More...
 
void Pause ()
 Pauses the controller. To unpause it call Play() More...
 
void Play ()
 Plays the controller. Calling this method while the controller is playing will have no effect. More...
 
void Refresh ()
 Forces the controller to update its state, without waiting for the automatic per frame update. Can initialize or deinitialize the controller if the right conditions are met. More...
 
void SetFromString (string fieldAndValue)
 Event-friedly helper that sets a field or property value More...
 
void Stop ()
 Stops the controller, and restore its position (and other relevant states) to its state when starting playing More...
 
void TeleportBy (float distance, MovementDirection direction)
 Teleports the controller to by a specific distance, while handling events triggering and connections. More...
 
void TeleportTo (float newPosition)
 Teleports the controller to a specific position, while handling events triggering and connections. More...
 
- Static Protected Member Functions inherited from CurvyController
static Vector3 ApplyOffset (Vector3 position, Vector3 tangent, Vector3 up, float offsetAngle, float offsetRadius)
 Returns the position of the controller after applying an offset More...
 
static float GetClampedPosition (float position, CurvyPositionMode positionMode, CurvyClamping clampingMode, float length)
 Return the clamped position More...
 
- Protected Attributes inherited from CurvyController
const string ControllerNotReadyMessage = "The controller is not yet ready"
 An error message used in various assertions More...
 
Vector3 DirectionDampingVelocity
 The damping velocity used in the Direction damping

See also
DirectionDampingTime, Vector3.SmoothDamp(Vector3, Vector3, ref Vector3, float, float, float)
More...
 
Quaternion LockedRotation
 When OrientationMode is None, and LockRotation is true, this field is the value of the locked rotation, the one that will be assigned all the time to the controller More...
 
ControllerEvent onInitialized = new ControllerEvent()
 
MovementDirection PrePlayDirection
 The MovementDirection of the controller when started playing More...
 
float PrePlayPosition
 The position of the controller when started playing More...
 
virtual bool ShouldDisablePositionSlider => PositionMode == CurvyPositionMode.WorldUnits && IsReady == false
 The position slider is disabled in the inspector when this property returns true More...
 
CurvyControllerState State = CurvyControllerState.Stopped
 The state (Playing, paused or stopped) of the controller

See also
CurvyControllerState
More...
 
Vector3 UpDampingVelocity
 The damping velocity used in the Up damping

See also
UpDampingTime, Vector3.SmoothDamp(Vector3, Vector3, ref Vector3, float, float, float)
More...
 

Member Function Documentation

override float AbsoluteToRelative ( float  worldUnitDistance)
protectedvirtual

Converts distance on source from absolute to relative position.

Parameters
worldUnitDistancedistance in world units from the source start. Should be already clamped
Returns
relative distance in the range 0..1

Implements CurvyController.

override void Advance ( float  speed,
float  deltaTime 
)
protectedvirtual

Advance the controller and return the new position. This method will do side effect operations if needed, like updating some internal state, or trigerring events.

Parameters
speedcontroller's speed. Should be strictely positive
deltaTimethe time that the controller should advance with. Should be strictely positive

Implements CurvyController.

override Vector3 GetInterpolatedSourcePosition ( float  tf)
protectedvirtual

Retrieve the source global position for a given relative position (TF)

Implements CurvyController.

override void GetInterpolatedSourcePosition ( float  tf,
out Vector3  interpolatedPosition,
out Vector3  tangent,
out Vector3  up 
)
protectedvirtual

Retrieve the source global position, tangent and orientation for a given relative position (TF)

Implements CurvyController.

override Vector3 GetOrientation ( float  tf)
protectedvirtual

Retrieve the source global Orientation/Up-Vector for a given relative position

Implements CurvyController.

override Vector3 GetTangent ( float  tf)
protectedvirtual

Gets global tangent for a given relative position

Implements CurvyController.

override float RelativeToAbsolute ( float  relativeDistance)
protectedvirtual

Converts distance on source from relative to absolute position.

Parameters
relativeDistancerelative distance from the source start. Should be already clamped
Returns
distance in world units from the source start

Implements CurvyController.

override void SimulateAdvance ( ref float  tf,
ref MovementDirection  curyDirection,
float  speed,
float  deltaTime 
)
protectedvirtual

Advance the controller and return the new position. Contrary to Advance, this method will not do any side effect operations, like updating some internal state, or trigerring events

Parameters
tfthe current virtual position (either TF or World Units)
curyDirectionthe current direction
speedcontroller's speed. Should be strictely positive
deltaTimethe time that the controller should advance with. Should be strictely positive

Implements CurvyController.

Property Documentation

override bool IsReady
get
override float Length
get

Gets the source's length

CGDataReference Path
getset

Gets or sets the path to use

CGPath PathData
get

Gets the actual CGPath data


The documentation for this class was generated from the following file: