2012-10-06 16:04:58 -04:00
|
|
|
|
2012-06-14 09:06:06 -04:00
|
|
|
#pragma once
|
|
|
|
|
2018-08-28 20:51:25 -04:00
|
|
|
#include "Simulator.h"
|
2015-06-26 18:24:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-06 16:04:58 -04:00
|
|
|
|
|
|
|
|
2014-09-16 15:29:31 -04:00
|
|
|
class cRedstoneSimulatorChunkData
|
|
|
|
{
|
|
|
|
public:
|
2014-09-26 12:00:34 -04:00
|
|
|
virtual ~cRedstoneSimulatorChunkData() = 0;
|
2015-06-26 18:24:51 -04:00
|
|
|
};
|
2012-10-06 16:04:58 -04:00
|
|
|
|
2014-09-26 12:00:34 -04:00
|
|
|
inline cRedstoneSimulatorChunkData::~cRedstoneSimulatorChunkData() {}
|
|
|
|
|
2014-10-25 16:54:00 -04:00
|
|
|
|
2015-06-26 18:24:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-13 12:38:06 -04:00
|
|
|
class cRedstoneSimulator:
|
2014-10-25 16:54:00 -04:00
|
|
|
public cSimulator
|
2012-06-14 09:06:06 -04:00
|
|
|
{
|
2020-04-13 12:38:06 -04:00
|
|
|
using Super = cSimulator;
|
|
|
|
|
2012-06-14 09:06:06 -04:00
|
|
|
public:
|
2015-06-26 18:24:51 -04:00
|
|
|
|
2020-04-13 12:38:06 -04:00
|
|
|
cRedstoneSimulator(cWorld & a_World):
|
|
|
|
Super(a_World)
|
2014-09-11 12:48:21 -04:00
|
|
|
{
|
|
|
|
}
|
2015-06-26 18:24:51 -04:00
|
|
|
|
|
|
|
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;
|
2017-08-17 09:48:38 -04:00
|
|
|
virtual void AddBlock(Vector3i a_Block, cChunk * a_Chunk) = 0;
|
2015-06-26 18:24:51 -04:00
|
|
|
|
2014-09-28 10:36:00 -04:00
|
|
|
virtual cRedstoneSimulatorChunkData * CreateChunkData() = 0;
|
2013-11-18 17:30:34 -05:00
|
|
|
|
2015-06-26 18:24:51 -04:00
|
|
|
};
|