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:
@@ -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
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user