2017-07-13 11:26:03 +03:00
|
|
|
/*
|
|
|
|
* CEmptyAI.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
|
|
|
|
*
|
|
|
|
*/
|
2011-12-13 21:23:17 +00:00
|
|
|
#pragma once
|
|
|
|
|
2011-12-31 10:03:29 +00:00
|
|
|
#include "../../lib/AI_Base.h"
|
2008-04-13 11:05:39 +00:00
|
|
|
#include "../../CCallback.h"
|
2009-04-22 18:48:56 +00:00
|
|
|
|
2010-12-24 15:37:48 +00:00
|
|
|
struct HeroMoveDetails;
|
|
|
|
|
2007-10-21 16:45:13 +00:00
|
|
|
class CEmptyAI : public CGlobalAI
|
2007-10-16 22:41:45 +00:00
|
|
|
{
|
2015-12-29 05:43:33 +03:00
|
|
|
std::shared_ptr<CCallback> cb;
|
2011-05-04 02:32:35 +00:00
|
|
|
|
2007-10-16 22:41:45 +00:00
|
|
|
public:
|
2015-12-29 05:43:33 +03:00
|
|
|
void init(std::shared_ptr<CCallback> CB) override;
|
2012-05-30 18:37:21 +00:00
|
|
|
void yourTurn() override;
|
2017-07-20 02:50:47 +03:00
|
|
|
void heroGotLevel(const CGHeroInstance * hero, PrimarySkill::PrimarySkill pskill, std::vector<SecondarySkill> & skills, QueryID queryID) override;
|
|
|
|
void commanderGotLevel(const CCommanderInstance * commander, std::vector<ui32> skills, QueryID queryID) override;
|
|
|
|
void showBlockingDialog(const std::string & text, const std::vector<Component> & components, QueryID askID, const int soundID, bool selection, bool cancel) override;
|
2015-11-28 02:41:30 +03:00
|
|
|
void showTeleportDialog(TeleportChannelID channel, TTeleportExitsList exits, bool impassable, QueryID askID) override;
|
2017-07-20 02:50:47 +03:00
|
|
|
void showGarrisonDialog(const CArmedInstance * up, const CGHeroInstance * down, bool removableUnits, QueryID queryID) override;
|
2017-06-06 07:53:51 +03:00
|
|
|
void showMapObjectSelectDialog(QueryID askID, const Component & icon, const MetaString & title, const MetaString & description, const std::vector<ObjectInstanceID> & objects) override;
|
2007-10-16 22:41:45 +00:00
|
|
|
};
|
|
|
|
|
2009-09-10 14:06:28 +00:00
|
|
|
#define NAME "EmptyAI 0.1"
|