diff options
Diffstat (limited to 'source/Simulator/Simulator.h')
-rw-r--r-- | source/Simulator/Simulator.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/source/Simulator/Simulator.h b/source/Simulator/Simulator.h new file mode 100644 index 000000000..84a1630c2 --- /dev/null +++ b/source/Simulator/Simulator.h @@ -0,0 +1,38 @@ + +#pragma once + +#include "../Vector3i.h" + + + + + +class cWorld; + + + + + +class cSimulator +{ +public: + cSimulator(cWorld * a_World); + virtual ~cSimulator(); + + /// Called in each tick, a_Dt is the time passed since the last tick + virtual void Simulate(float a_Dt) = 0; + + /// Called when a block changes via cWorld::SetBlock() + virtual void WakeUp(int a_BlockX, int a_BlockY, int a_BlockZ); + + virtual bool IsAllowedBlock(BLOCKTYPE a_BlockType) = 0; + +protected: + virtual void AddBlock(int a_BlockX, int a_BlockY, int a_BlockZ) = 0; + + cWorld * m_World; +} ; + + + + |