#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 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