summaryrefslogtreecommitdiffstats
path: root/src/Simulator/RedstoneSimulator.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Simulator/RedstoneSimulator.h')
-rw-r--r--src/Simulator/RedstoneSimulator.h25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/Simulator/RedstoneSimulator.h b/src/Simulator/RedstoneSimulator.h
index b0ad08aa4..863ba2532 100644
--- a/src/Simulator/RedstoneSimulator.h
+++ b/src/Simulator/RedstoneSimulator.h
@@ -1,30 +1,41 @@
#pragma once
-#include "Simulator.h"
+#include "ChunkDef.h"
+#include "Simulator/Simulator.h"
+
+
+
class cRedstoneSimulatorChunkData
{
public:
virtual ~cRedstoneSimulatorChunkData() = 0;
-} ;
-
+};
inline cRedstoneSimulatorChunkData::~cRedstoneSimulatorChunkData() {}
+
+
+
class cRedstoneSimulator :
public cSimulator
{
typedef cSimulator super;
-
public:
+
cRedstoneSimulator(cWorld & a_World) :
- super(a_World)
+ super(a_World)
{
}
-
+
+ virtual void Simulate(float a_Dt) = 0;
+ virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) = 0;
+ virtual bool IsAllowedBlock(BLOCKTYPE a_BlockType) = 0;
+ virtual void AddBlock(int a_BlockX, int a_BlockY, int a_BlockZ, cChunk * a_Chunk) = 0;
+
virtual cRedstoneSimulatorChunkData * CreateChunkData() = 0;
-} ;
+};