22 #ifndef STARK_MOVEMENT_WALK_H 23 #define STARK_MOVEMENT_WALK_H 25 #include "engines/stark/movement/movement.h" 27 #include "common/array.h" 31 class StringPullingPath;
34 class FloorPositionedItem;
47 void start()
override;
48 void stop(
bool force =
false)
override;
49 void onGameLoop()
override;
50 bool hasReachedDestination()
const override;
51 uint32 getType()
const override;
55 void setDestination(
const Math::Vector3d &destination);
56 void setDestinationWithoutHeight(Math::Vector3d destination);
59 void changeDestination(
const Math::Vector3d &destination);
66 void doWalkCollisionSimple();
67 void doWalkCollisionAvoid();
69 float computeDistancePerGameLoop()
const;
70 float getAngularSpeed()
const;
72 void changeItemAnim();
73 void updatePath()
const;
78 static bool isPointNearPath(
const Math::Vector3d &point3d,
const Math::Vector3d &pathStart3d,
const Math::Vector3d &pathEnd3d);
83 Math::Vector3d _destination;
89 bool _reachedDestination;
90 TurnDirection _turnDirection;
92 int32 _collisionWaitTimeout;
93 int32 _collisionWaitCount;
94 Math::Vector3d _previousPosition;
95 Math::Vector3d _currentTarget;
100 #endif // STARK_MOVEMENT_WALK_H
Definition: stringpullingpath.h:37
Definition: movement.h:38
Definition: stateprovider.h:51