mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
fix mine handler for rmg
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include "../RmgMap.h"
|
||||
#include "../../mapObjectConstructors/AObjectTypeHandler.h"
|
||||
#include "../../mapObjectConstructors/CObjectClassesHandler.h"
|
||||
#include "../../mapObjectConstructors/CommonConstructors.h"
|
||||
#include "../../mapObjects/CGResource.h"
|
||||
#include "../../mapObjects/MiscObjects.h"
|
||||
#include "../../mapping/CMapEditManager.h"
|
||||
@@ -58,7 +59,14 @@ bool MinePlacer::placeMines(ObjectManager & manager)
|
||||
const auto res = GameResID(mineInfo.first);
|
||||
for(int i = 0; i < mineInfo.second; ++i)
|
||||
{
|
||||
auto mineHandler = LIBRARY->objtypeh->getHandlerFor(Obj::MINE, res);
|
||||
TObjectTypeHandler mineHandler;
|
||||
for(auto & subObjID : LIBRARY->objtypeh->knownSubObjects(Obj::MINE))
|
||||
{
|
||||
auto handler = std::dynamic_pointer_cast<MineInstanceConstructor>(LIBRARY->objtypeh->getHandlerFor(Obj::MINE, subObjID));
|
||||
if(handler->getResourceType() == res)
|
||||
mineHandler = handler;
|
||||
}
|
||||
|
||||
const auto & rmginfo = mineHandler->getRMGInfo();
|
||||
auto mine = std::dynamic_pointer_cast<CGMine>(mineHandler->create(map.mapInstance->cb, nullptr));
|
||||
mine->producedResource = res;
|
||||
|
||||
Reference in New Issue
Block a user