/* * AIPathfinderConfig.h, part of VCMI engine * * Authors: listed in file AUTHORS in main folder * * License: GNU General Public License v2.0 or later * Full text of license available in license.txt file, in main folder * */ #pragma once #include "AINodeStorage.h" #include "../../../lib/pathfinder/PathfinderOptions.h" namespace NKAI { class Nullkiller; namespace AIPathfinding { class AIPathfinderConfig : public PathfinderConfig { private: std::map<const CGHeroInstance *, std::unique_ptr<CPathfinderHelper>> pathfindingHelpers; std::shared_ptr<AINodeStorage> aiNodeStorage; public: AIPathfinderConfig( CPlayerSpecificInfoCallback * cb, Nullkiller * ai, std::shared_ptr<AINodeStorage> nodeStorage, bool allowBypassObjects); ~AIPathfinderConfig(); CPathfinderHelper * getOrCreatePathfinderHelper(const PathNodeInfo & source, CGameState * gs) override; }; } }