diff options
Diffstat (limited to 'source/Simulator/SimulatorManager.cpp')
-rw-r--r-- | source/Simulator/SimulatorManager.cpp | 23 |
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)); } |