12345678910111213141516171819202122232425 |
- #ifndef PATH_FINDER_H
- #define PATH_FINDER_H
- #include "Entity.h"
- #include "Map.h"
- #include "Position.h"
- #include "Vector.h"
- struct PathFinder final {
- struct Path final {
- // FOUND is 0 to allow interpreting the enum as bool
- enum Result { FOUND, OUT_OF_RANGE, NOT_FOUND };
- Result result;
- // contains the path if result equals FOUND
- Vector<Position> path;
- };
- // a path finder is bound to a map
- PathFinder(const Map& map);
- // search for a path in a radius between the positions for an entity
- Path find(const Position& from, const Position& to, const Entity& e,
- float range);
- };
- #endif
|