1
0
forked from mirrors/0ad

Make the CSimContext constructor take a CTerrain and a CUnitManager

`CSimulationImpl` doesn't has to be a friend anymore.

Comments by: @Stan
Differential Revision: https://code.wildfiregames.com/D5296
This was SVN commit r28138.
This commit is contained in:
phosit
2024-07-05 16:55:33 +00:00
parent a4d9993e86
commit 9e328ec617
3 changed files with 9 additions and 12 deletions
+2 -4
View File
@@ -54,12 +54,11 @@ class CSimulation2Impl
{
public:
CSimulation2Impl(CUnitManager* unitManager, ScriptContext& cx, CTerrain* terrain) :
m_SimContext{terrain, unitManager},
m_ComponentManager{m_SimContext, cx},
m_MapSettings{cx.GetGeneralJSContext()},
m_InitAttributes{cx.GetGeneralJSContext()}
{
m_SimContext.m_UnitManager = unitManager;
m_SimContext.m_Terrain = terrain;
m_ComponentManager.LoadComponentTypes();
RegisterFileReloadFunc(ReloadChangedFileCB, this);
@@ -406,8 +405,7 @@ void CSimulation2Impl::Update(int turnLength, const std::vector<SimulationComman
m_SecondaryTerrain = std::make_unique<CTerrain>();
m_SecondaryContext = std::make_unique<CSimContext>();
m_SecondaryContext->m_Terrain = m_SecondaryTerrain.get();
m_SecondaryContext = std::make_unique<CSimContext>(m_SecondaryTerrain.get());
m_SecondaryComponentManager = std::make_unique<CComponentManager>(*m_SecondaryContext, scriptInterface.GetContext());
m_SecondaryComponentManager->LoadComponentTypes();