summaryrefslogtreecommitdiffstats
path: root/source/Simulator/SimulatorManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Simulator/SimulatorManager.cpp')
-rw-r--r--source/Simulator/SimulatorManager.cpp23
1 files changed, 9 insertions, 14 deletions
diff --git a/source/Simulator/SimulatorManager.cpp b/source/Simulator/SimulatorManager.cpp
index 1ab7a51b5..c74b273f7 100644
--- a/source/Simulator/SimulatorManager.cpp
+++ b/source/Simulator/SimulatorManager.cpp
@@ -7,9 +7,9 @@
-cSimulatorManager::cSimulatorManager()
+cSimulatorManager::cSimulatorManager(void) :
+ m_Ticks(0)
{
-
}
@@ -18,10 +18,6 @@ cSimulatorManager::cSimulatorManager()
cSimulatorManager::~cSimulatorManager()
{
- for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr )
- {
- delete *itr;
- } // for itr - m_Simulators[]
}
@@ -33,8 +29,10 @@ void cSimulatorManager::Simulate( float a_Dt )
m_Ticks++;
for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr )
{
- if(m_Ticks % (*itr)->second == 0)
- (*itr)->first->Simulate(a_Dt);
+ if ((m_Ticks % itr->second) == 0)
+ {
+ itr->first->Simulate(a_Dt);
+ }
}
}
@@ -46,7 +44,7 @@ void cSimulatorManager::WakeUp(int a_BlockX, int a_BlockY, int a_BlockZ)
{
for (cSimulators::iterator itr = m_Simulators.begin(); itr != m_Simulators.end(); ++itr )
{
- (*itr)->first->WakeUp(a_BlockX, a_BlockY, a_BlockZ);
+ itr->first->WakeUp(a_BlockX, a_BlockY, a_BlockZ);
}
}
@@ -54,12 +52,9 @@ void cSimulatorManager::WakeUp(int a_BlockX, int a_BlockY, int a_BlockZ)
-void cSimulatorManager::RegisterSimulator(cSimulator *a_Simulator, short a_Rate)
+void cSimulatorManager::RegisterSimulator(cSimulator * a_Simulator, int a_Rate)
{
- //TODO needs some checking
- std::pair<cSimulator *, short> *Pair = new std::pair<cSimulator *, short>(a_Simulator, a_Rate);
-
- m_Simulators.push_back(Pair);
+ m_Simulators.push_back(std::make_pair(a_Simulator, a_Rate));
}