1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-25 21:38:59 +02:00

vcmi: add IFactionMember abstract class

This commit is contained in:
Konstantin 2023-04-26 23:26:13 +03:00
parent c9b59735cf
commit 4f7035d3ff
5 changed files with 6 additions and 6 deletions

View File

@ -31,7 +31,7 @@ public:
virtual bool isNativeTerrain(Identifier<ETerrainId> terrain) const;
};
class DLL_LINKAGE IConstBonusNativeTerrainProvider: public IConstBonusProvider, public INativeTerrainProvider
class DLL_LINKAGE IFactionMember: public IConstBonusProvider, public INativeTerrainProvider
{
public:
/**
@ -69,7 +69,7 @@ class DLL_LINKAGE EntityWithBonuses : public EntityT<IdType>, public IConstBonus
};
template <typename IdType>
class DLL_LINKAGE EntityWithNativeTerrain : public EntityT<IdType>, public IConstBonusNativeTerrainProvider
class DLL_LINKAGE EntityWithNativeTerrain : public EntityT<IdType>, public IFactionMember
{
};

View File

@ -26,7 +26,7 @@ bool INativeTerrainProvider::isNativeTerrain(TerrainId terrain) const
return native == terrain || native == ETerrainId::ANY_TERRAIN;
}
TerrainId IConstBonusNativeTerrainProvider::getNativeTerrain() const
TerrainId IFactionMember::getNativeTerrain() const
{
constexpr auto any = TerrainId(ETerrainId::ANY_TERRAIN);
const std::string cachingStringNoTerrainPenalty = "type_NO_TERRAIN_PENALTY_sANY";

View File

@ -63,7 +63,7 @@ public:
void serializeJson(JsonSerializeFormat & handler);
};
class DLL_LINKAGE CStackInstance : public CBonusSystemNode, public CStackBasicDescriptor, public CArtifactSet, public IConstBonusNativeTerrainProvider
class DLL_LINKAGE CStackInstance : public CBonusSystemNode, public CStackBasicDescriptor, public CArtifactSet, public IFactionMember
{
protected:
const CArmedInstance *_armyObj; //stack must be part of some army, army must be part of some object

View File

@ -41,7 +41,7 @@ namespace BattlePhases
class CUnitState;
class DLL_LINKAGE Unit : public IUnitInfo, public spells::Caster, public virtual IBonusBearer, public IConstBonusNativeTerrainProvider
class DLL_LINKAGE Unit : public IUnitInfo, public spells::Caster, public virtual IBonusBearer, public IFactionMember
{
public:
virtual ~Unit();

View File

@ -41,7 +41,7 @@ public:
};
class DLL_LINKAGE CGHeroInstance : public CArmedInstance, public IBoatGenerator, public CArtifactSet, public spells::Caster, public IConstBonusNativeTerrainProvider
class DLL_LINKAGE CGHeroInstance : public CArmedInstance, public IBoatGenerator, public CArtifactSet, public spells::Caster, public IFactionMember
{
// We serialize heroes into JSON for crossover
friend class CCampaignState;