1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-12 10:03:53 +02:00
vcmi/AI/Nullkiller/Pathfinding/Actions/SpecialAction.h

42 lines
883 B
C++

/*
* SpecialAction.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 "../../AIUtility.h"
#include "../../Goals/AbstractGoal.h"
struct AIPathNode;
class SpecialAction
{
public:
virtual bool canAct(const AIPathNode * source) const
{
return true;
}
virtual Goals::TSubgoal decompose(const CGHeroInstance * hero) const;
virtual void execute(const CGHeroInstance * hero) const;
virtual void applyOnDestination(
const CGHeroInstance * hero,
CDestinationNodeInfo & destination,
const PathNodeInfo & source,
AIPathNode * dstMode,
const AIPathNode * srcNode) const
{
}
virtual std::string toString() const = 0;
virtual const CGObjectInstance * targetObject() const { return nullptr; }
};