mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
add mines support
This commit is contained in:
@@ -67,6 +67,7 @@ CObjectClassesHandler::CObjectClassesHandler()
|
||||
SET_HANDLER_CLASS("shipyard", ShipyardInstanceConstructor);
|
||||
SET_HANDLER_CLASS("monster", CreatureInstanceConstructor);
|
||||
SET_HANDLER_CLASS("resource", ResourceInstanceConstructor);
|
||||
SET_HANDLER_CLASS("mine", MineInstanceConstructor);
|
||||
|
||||
SET_HANDLER_CLASS("static", CObstacleConstructor);
|
||||
SET_HANDLER_CLASS("", CObstacleConstructor);
|
||||
@@ -88,7 +89,6 @@ CObjectClassesHandler::CObjectClassesHandler()
|
||||
SET_HANDLER("heroPlaceholder", CGHeroPlaceholder);
|
||||
SET_HANDLER("keymaster", CGKeymasterTent);
|
||||
SET_HANDLER("magi", CGMagi);
|
||||
SET_HANDLER("mine", CGMine);
|
||||
SET_HANDLER("obelisk", CGObelisk);
|
||||
SET_HANDLER("pandora", CGPandoraBox);
|
||||
SET_HANDLER("prison", CGHeroInstance);
|
||||
|
||||
@@ -90,6 +90,22 @@ void ResourceInstanceConstructor::randomizeObject(CGResource * object, IGameRand
|
||||
object->amount = 5 * getAmountMultiplier();
|
||||
}
|
||||
|
||||
void MineInstanceConstructor::initTypeData(const JsonNode & input)
|
||||
{
|
||||
config = input;
|
||||
|
||||
resourceType = GameResID::NONE; //set up fallback
|
||||
LIBRARY->identifiers()->requestIdentifierIfNotNull("resource", input["resource"], [&](si32 index)
|
||||
{
|
||||
resourceType = GameResID(index);
|
||||
});
|
||||
}
|
||||
|
||||
GameResID MineInstanceConstructor::getResourceType() const
|
||||
{
|
||||
return resourceType;
|
||||
}
|
||||
|
||||
void CTownInstanceConstructor::initTypeData(const JsonNode & input)
|
||||
{
|
||||
LIBRARY->identifiers()->requestIdentifier("faction", input["faction"], [&](si32 index)
|
||||
|
||||
@@ -62,6 +62,16 @@ public:
|
||||
void randomizeObject(CGResource * object, IGameRandomizer & gameRandomizer) const override;
|
||||
};
|
||||
|
||||
class DLL_LINKAGE MineInstanceConstructor : public CDefaultObjectTypeHandler<CGMine>
|
||||
{
|
||||
JsonNode config;
|
||||
GameResID resourceType;
|
||||
public:
|
||||
void initTypeData(const JsonNode & input) override;
|
||||
|
||||
GameResID getResourceType() const;
|
||||
};
|
||||
|
||||
class CTownInstanceConstructor : public CDefaultObjectTypeHandler<CGTownInstance>
|
||||
{
|
||||
JsonNode filtersJson;
|
||||
|
||||
Reference in New Issue
Block a user