summaryrefslogtreecommitdiffstats
path: root/source/Simulator/SimulatorManager.cpp
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-10-27 09:51:01 +0200
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-10-27 09:51:01 +0200
commit1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1 (patch)
treef826495ab542932e2f7e7af2463568186f5c219e /source/Simulator/SimulatorManager.cpp
parentCritical sections aren't heap-allocated in linux anymore. (diff)
downloadcuberite-1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1.tar
cuberite-1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1.tar.gz
cuberite-1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1.tar.bz2
cuberite-1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1.tar.lz
cuberite-1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1.tar.xz
cuberite-1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1.tar.zst
cuberite-1cd213fa608cb2d27b1c8f2ae9d47e02d8cb18f1.zip
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));
}