mirror of
https://github.com/vcmi/vcmi.git
synced 2025-05-23 22:40:07 +02:00
49 lines
1.6 KiB
C++
49 lines
1.6 KiB
C++
|
/*
|
||
|
* CNonConstInfoCallback.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 "CPrivilegedInfoCallback.h"
|
||
|
|
||
|
#include <vcmi/Metatype.h>
|
||
|
|
||
|
VCMI_LIB_NAMESPACE_BEGIN
|
||
|
|
||
|
class JsonNode;
|
||
|
|
||
|
class DLL_LINKAGE CNonConstInfoCallback : public CPrivilegedInfoCallback
|
||
|
{
|
||
|
public:
|
||
|
//keep const version of callback accessible
|
||
|
using CGameInfoCallback::getPlayerState;
|
||
|
using CGameInfoCallback::getTeam;
|
||
|
using CGameInfoCallback::getPlayerTeam;
|
||
|
using CGameInfoCallback::getHero;
|
||
|
using CGameInfoCallback::getTown;
|
||
|
using CGameInfoCallback::getTile;
|
||
|
using CGameInfoCallback::getArtInstance;
|
||
|
using CGameInfoCallback::getObjInstance;
|
||
|
using CGameInfoCallback::getArtSet;
|
||
|
|
||
|
PlayerState * getPlayerState(const PlayerColor & color, bool verbose = true);
|
||
|
TeamState * getTeam(const TeamID & teamID); //get team by team ID
|
||
|
TeamState * getPlayerTeam(const PlayerColor & color); // get team by player color
|
||
|
CGHeroInstance * getHero(const ObjectInstanceID & objid);
|
||
|
CGTownInstance * getTown(const ObjectInstanceID & objid);
|
||
|
TerrainTile * getTile(const int3 & pos);
|
||
|
CArtifactInstance * getArtInstance(const ArtifactInstanceID & aid);
|
||
|
CGObjectInstance * getObjInstance(const ObjectInstanceID & oid);
|
||
|
CArmedInstance * getArmyInstance(const ObjectInstanceID & oid);
|
||
|
CArtifactSet * getArtSet(const ArtifactLocation & loc);
|
||
|
|
||
|
virtual void updateEntity(Metatype metatype, int32_t index, const JsonNode & data) = 0;
|
||
|
};
|
||
|
|
||
|
VCMI_LIB_NAMESPACE_END
|