mirror of
https://github.com/vcmi/vcmi.git
synced 2025-07-15 01:24:45 +02:00
Remove dependencies of surface and underground zones
This commit is contained in:
@ -12,7 +12,7 @@
|
|||||||
#include "ObstaclePlacer.h"
|
#include "ObstaclePlacer.h"
|
||||||
#include "ObjectManager.h"
|
#include "ObjectManager.h"
|
||||||
#include "TreasurePlacer.h"
|
#include "TreasurePlacer.h"
|
||||||
#include "RockPlacer.h"
|
#include "RockFiller.h"
|
||||||
#include "WaterRoutes.h"
|
#include "WaterRoutes.h"
|
||||||
#include "WaterProxy.h"
|
#include "WaterProxy.h"
|
||||||
#include "RoadPlacer.h"
|
#include "RoadPlacer.h"
|
||||||
@ -94,10 +94,16 @@ void ObstaclePlacer::init()
|
|||||||
{
|
{
|
||||||
DEPENDENCY(ObjectManager);
|
DEPENDENCY(ObjectManager);
|
||||||
DEPENDENCY(TreasurePlacer);
|
DEPENDENCY(TreasurePlacer);
|
||||||
|
DEPENDENCY(RoadPlacer);
|
||||||
|
if (zone.isUnderground())
|
||||||
|
{
|
||||||
|
DEPENDENCY(RockFiller);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
DEPENDENCY(WaterRoutes);
|
DEPENDENCY(WaterRoutes);
|
||||||
DEPENDENCY(WaterProxy);
|
DEPENDENCY(WaterProxy);
|
||||||
DEPENDENCY(RoadPlacer);
|
}
|
||||||
DEPENDENCY_ALL(RockPlacer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ObstaclePlacer::isInTheMap(const int3& tile)
|
bool ObstaclePlacer::isInTheMap(const int3& tile)
|
||||||
|
@ -82,7 +82,10 @@ void RiverPlacer::process()
|
|||||||
|
|
||||||
void RiverPlacer::init()
|
void RiverPlacer::init()
|
||||||
{
|
{
|
||||||
|
if (!zone.isUnderground())
|
||||||
|
{
|
||||||
DEPENDENCY_ALL(WaterProxy);
|
DEPENDENCY_ALL(WaterProxy);
|
||||||
|
}
|
||||||
DEPENDENCY(ObjectManager);
|
DEPENDENCY(ObjectManager);
|
||||||
DEPENDENCY(ObstaclePlacer);
|
DEPENDENCY(ObstaclePlacer);
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "RoadPlacer.h"
|
#include "RoadPlacer.h"
|
||||||
#include "ObjectManager.h"
|
#include "ObjectManager.h"
|
||||||
#include "ObstaclePlacer.h"
|
#include "ObstaclePlacer.h"
|
||||||
|
#include "RockFiller.h"
|
||||||
#include "../Functions.h"
|
#include "../Functions.h"
|
||||||
#include "../CMapGenerator.h"
|
#include "../CMapGenerator.h"
|
||||||
#include "../threadpool/MapProxy.h"
|
#include "../threadpool/MapProxy.h"
|
||||||
@ -28,6 +29,14 @@ void RoadPlacer::process()
|
|||||||
connectRoads();
|
connectRoads();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RoadPlacer::init()
|
||||||
|
{
|
||||||
|
if (zone.isUnderground())
|
||||||
|
{
|
||||||
|
DEPENDENCY_ALL(RockFiller);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
rmg::Area & RoadPlacer::areaForRoads()
|
rmg::Area & RoadPlacer::areaForRoads()
|
||||||
{
|
{
|
||||||
return areaRoads;
|
return areaRoads;
|
||||||
|
@ -19,6 +19,7 @@ public:
|
|||||||
MODIFICATOR(RoadPlacer);
|
MODIFICATOR(RoadPlacer);
|
||||||
|
|
||||||
void process() override;
|
void process() override;
|
||||||
|
void init();
|
||||||
char dump(const int3 &) override;
|
char dump(const int3 &) override;
|
||||||
|
|
||||||
void addRoadNode(const int3 & node);
|
void addRoadNode(const int3 & node);
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
#include "RockPlacer.h"
|
#include "RockPlacer.h"
|
||||||
#include "TreasurePlacer.h"
|
#include "TreasurePlacer.h"
|
||||||
#include "ObjectManager.h"
|
#include "ObjectManager.h"
|
||||||
#include "RoadPlacer.h"
|
|
||||||
#include "RiverPlacer.h"
|
#include "RiverPlacer.h"
|
||||||
#include "../RmgMap.h"
|
#include "../RmgMap.h"
|
||||||
#include "../CMapGenerator.h"
|
#include "../CMapGenerator.h"
|
||||||
@ -63,7 +62,6 @@ void RockFiller::processMap()
|
|||||||
void RockFiller::init()
|
void RockFiller::init()
|
||||||
{
|
{
|
||||||
DEPENDENCY_ALL(RockPlacer);
|
DEPENDENCY_ALL(RockPlacer);
|
||||||
POSTFUNCTION_ALL(RoadPlacer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char RockFiller::dump(const int3 & t)
|
char RockFiller::dump(const int3 & t)
|
||||||
|
@ -67,7 +67,17 @@ void RockPlacer::postProcess()
|
|||||||
|
|
||||||
void RockPlacer::init()
|
void RockPlacer::init()
|
||||||
{
|
{
|
||||||
DEPENDENCY_ALL(TreasurePlacer);
|
for (const auto& zone : map.getZones())
|
||||||
|
{
|
||||||
|
if (zone.second->isUnderground())
|
||||||
|
{
|
||||||
|
auto * tp = zone.second->getModificator<TreasurePlacer>();
|
||||||
|
if (tp)
|
||||||
|
{
|
||||||
|
dependency(tp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char RockPlacer::dump(const int3 & t)
|
char RockPlacer::dump(const int3 & t)
|
||||||
|
@ -82,9 +82,12 @@ void WaterProxy::process()
|
|||||||
void WaterProxy::init()
|
void WaterProxy::init()
|
||||||
{
|
{
|
||||||
for(auto & z : map.getZones())
|
for(auto & z : map.getZones())
|
||||||
|
{
|
||||||
|
if (!zone.isUnderground())
|
||||||
{
|
{
|
||||||
dependency(z.second->getModificator<TownPlacer>());
|
dependency(z.second->getModificator<TownPlacer>());
|
||||||
dependency(z.second->getModificator<WaterAdopter>());
|
dependency(z.second->getModificator<WaterAdopter>());
|
||||||
|
}
|
||||||
postfunction(z.second->getModificator<ConnectionsPlacer>());
|
postfunction(z.second->getModificator<ConnectionsPlacer>());
|
||||||
postfunction(z.second->getModificator<ObjectManager>());
|
postfunction(z.second->getModificator<ObjectManager>());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user