2019-02-06 14:51:12 +02:00
|
|
|
/*
|
|
|
|
* ISpecialAction.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"
|
|
|
|
|
2023-06-21 12:51:31 +02:00
|
|
|
VCMI_LIB_NAMESPACE_BEGIN
|
2023-06-21 11:00:44 +02:00
|
|
|
struct PathNodeInfo;
|
|
|
|
struct CDestinationNodeInfo;
|
2023-06-21 12:51:31 +02:00
|
|
|
VCMI_LIB_NAMESPACE_END
|
|
|
|
|
|
|
|
struct AIPathNode;
|
2019-02-06 14:51:12 +02:00
|
|
|
|
|
|
|
class ISpecialAction
|
|
|
|
{
|
|
|
|
public:
|
2022-05-19 14:14:50 +02:00
|
|
|
virtual ~ISpecialAction() = default;
|
2019-02-06 14:51:12 +02:00
|
|
|
virtual Goals::TSubgoal whatToDo(const HeroPtr & hero) const = 0;
|
|
|
|
|
|
|
|
virtual void applyOnDestination(
|
2019-02-09 15:09:21 +02:00
|
|
|
const CGHeroInstance * hero,
|
2019-02-06 14:51:12 +02:00
|
|
|
CDestinationNodeInfo & destination,
|
|
|
|
const PathNodeInfo & source,
|
|
|
|
AIPathNode * dstMode,
|
|
|
|
const AIPathNode * srcNode) const
|
|
|
|
{
|
|
|
|
}
|
2023-06-21 11:00:44 +02:00
|
|
|
};
|