22 #ifndef ULTIMA8_WORLD_ACTORS_PATHFINDER_H 23 #define ULTIMA8_WORLD_ACTORS_PATHFINDER_H 25 #include "ultima/shared/std/containers.h" 26 #include "ultima/ultima8/misc/direction.h" 27 #include "ultima/ultima8/misc/point3.h" 28 #include "ultima/ultima8/misc/priority_queue.h" 29 #include "ultima/ultima8/world/actors/animation.h" 41 _lastAnim(Animation::walk), _flipped(
false),
42 _firstStep(
true), _combat(
false) {};
44 Animation::Sequence _lastAnim;
50 void load(
const Actor *actor);
51 bool checkPoint(
const Point3 &pt,
int range)
const;
52 bool checkItem(
const Item *item,
int xyRange,
int zRange)
const;
53 bool checkHit(
const Actor *actor,
const Item *target)
const;
57 Animation::Sequence _action;
66 bool operator()(
const PathNode *n1,
const PathNode *n2)
const;
75 void setTarget(
const Point3 &pt);
76 void setTarget(
Item *item,
bool hit =
false);
84 #ifdef DEBUG_PATHFINDER 85 static ObjId _visualDebugActor;
97 int32 _actorXd, _actorYd, _actorZd;
105 bool alreadyVisited(
const Point3 &pt)
const;
108 void expandNode(PathNode *node);
109 unsigned int costHeuristic(PathNode *node)
const;
110 bool checkTarget(
const PathNode *node)
const;
Definition: pathfinder.h:64
Definition: priority_queue.h:37
Std::vector< PathNode * > _cleanupNodes
Definition: pathfinder.h:103
Definition: pathfinder.h:56
Definition: detection.h:27
Definition: pathfinder.h:69
Definition: pathfinder.h:39
Definition: containers.h:38