1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +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; virtual bool isNativeTerrain(Identifier<ETerrainId> terrain) const;
}; };
class DLL_LINKAGE IConstBonusNativeTerrainProvider: public IConstBonusProvider, public INativeTerrainProvider class DLL_LINKAGE IFactionMember: public IConstBonusProvider, public INativeTerrainProvider
{ {
public: public:
/** /**
@@ -69,7 +69,7 @@ class DLL_LINKAGE EntityWithBonuses : public EntityT<IdType>, public IConstBonus
}; };
template <typename IdType> 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; return native == terrain || native == ETerrainId::ANY_TERRAIN;
} }
TerrainId IConstBonusNativeTerrainProvider::getNativeTerrain() const TerrainId IFactionMember::getNativeTerrain() const
{ {
constexpr auto any = TerrainId(ETerrainId::ANY_TERRAIN); constexpr auto any = TerrainId(ETerrainId::ANY_TERRAIN);
const std::string cachingStringNoTerrainPenalty = "type_NO_TERRAIN_PENALTY_sANY"; const std::string cachingStringNoTerrainPenalty = "type_NO_TERRAIN_PENALTY_sANY";

View File

@@ -63,7 +63,7 @@ public:
void serializeJson(JsonSerializeFormat & handler); 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: protected:
const CArmedInstance *_armyObj; //stack must be part of some army, army must be part of some object 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 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: public:
virtual ~Unit(); 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 // We serialize heroes into JSON for crossover
friend class CCampaignState; friend class CCampaignState;