2023-09-24 12:07:42 +02:00
|
|
|
/*
|
|
|
|
* ArmyUpgrade.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 "../Goals/CGoal.h"
|
|
|
|
#include "../Pathfinding/AINodeStorage.h"
|
|
|
|
#include "../Analyzers/ArmyManager.h"
|
|
|
|
#include "../Analyzers/DangerHitMapAnalyzer.h"
|
|
|
|
|
|
|
|
namespace NKAI
|
|
|
|
{
|
|
|
|
namespace Goals
|
|
|
|
{
|
|
|
|
class DLL_EXPORT StayAtTown : public ElementarGoal<StayAtTown>
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
float movementWasted;
|
|
|
|
|
|
|
|
public:
|
|
|
|
StayAtTown(const CGTownInstance * town, AIPath & path);
|
|
|
|
|
2024-02-10 21:22:08 +02:00
|
|
|
bool operator==(const StayAtTown & other) const override;
|
2024-02-13 16:21:30 +02:00
|
|
|
std::string toString() const override;
|
2023-09-24 12:07:42 +02:00
|
|
|
void accept(AIGateway * ai) override;
|
|
|
|
float getMovementWasted() const { return movementWasted; }
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|