#include <followpath.h>
Public Member Functions | |
| FollowPath (Resources::ItemVisual *item) | |
| void | start () override |
| void | onGameLoop () override |
| void | stop (bool force=false) override |
| uint32 | getType () const override |
| void | saveLoad (ResourceSerializer *serializer) override |
| void | setPath (Resources::Path *path) |
| void | setSpeed (float speed) |
| void | setAnim (Resources::Anim *anim) |
Public Member Functions inherited from Stark::Movement | |
| Movement (Resources::ItemVisual *item) | |
| bool | hasEnded () const |
| virtual bool | hasReachedDestination () const |
Additional Inherited Members | |
Public Types inherited from Stark::Movement | |
| enum | MovementType { kTypeWalk = 1, kTypeFollowPath = 2, kTypeFollowPathLight = 3, kTypeTurn = 4 } |
Static Public Member Functions inherited from Stark::Movement | |
| static Movement * | construct (uint32 type, Resources::ItemVisual *item) |
Protected Types inherited from Stark::Movement | |
| enum | TurnDirection { kTurnNone, kTurnLeft, kTurnRight } |
Protected Member Functions inherited from Stark::Movement | |
| float | computeAngleBetweenVectorsXYPlane (const Math::Vector3d &v1, const Math::Vector3d &v2) const |
Protected Attributes inherited from Stark::Movement | |
| const float | _defaultTurnAngleSpeed |
| bool | _ended |
| Resources::ItemVisual * | _item |
Make an item follow pre-computed path
Works for 2D and 3D items, with respectively 2D and 3D paths
|
overridevirtual |
Initiate the movement
Reimplemented from Stark::Movement.
|
overridevirtual |
Called once per game loop
Implements Stark::Movement.
|
overridevirtual |
Stop / abort the movement
Reimplemented from Stark::Movement.
|
overridevirtual |
Obtain the effective movement type
Implements Stark::Movement.
|
overridevirtual |
Persist / restore the state of the movement so it can be resumed using 'start'
Implements Stark::Movement.
| void Stark::FollowPath::setPath | ( | Resources::Path * | path | ) |
Set the path to follow
| void Stark::FollowPath::setSpeed | ( | float | speed | ) |
Set the movement speed on the path
| void Stark::FollowPath::setAnim | ( | Resources::Anim * | anim | ) |
Override the animation to play while the item follows the path