#pragma once #include #include #include "XY.h" #include "Pathfinder.h" class Museum; class PathfindingContext { public: PathfindingContext(Museum &); public: void set_start(const XY & point); const XY & get_start() { return this->start_point; } void set_end(const XY & point); const XY & get_end() { return this->end_point; } bool valid_point(const XY & point); void update(); private: XY start_point = { -1, -1 }; XY end_point = { -1, -1 }; public: Pathfinder & get_solver(); void cycle_solver(); private: std::vector> solvers; size_t solver_index = 0; private: Museum & museum; };