26 bool HasBlock(
int a_RelX,
int a_RelY,
int a_RelZ);
29 bool Add(
int a_RelX,
int a_RelY,
int a_RelZ);
57 virtual void AddBlock(
Vector3i a_Block,
cChunk * a_Chunk)
override;
58 virtual void Simulate(
float a_Dt)
override;
59 virtual void SimulateChunk(std::chrono::milliseconds a_Dt,
int a_ChunkX,
int a_ChunkZ,
cChunk * a_Chunk)
override;
75 virtual void SimulateBlock(
cChunk * a_Chunk,
int a_RelX,
int a_RelY,
int a_RelZ) = 0;
unsigned char BLOCKTYPE
The datatype used by blockdata.
cDelayedFluidSimulatorChunkData(int a_TickDelay)
bool HasBlock(int a_RelX, int a_RelY, int a_RelZ)
Returns true if the specified block is stored.
cSlot * m_Slots
Slots, one for each delay tick, each containing the blocks to simulate.
virtual cFluidSimulatorData * CreateChunkData(void) override
Creates a ChunkData object for the simulator to use.
bool Add(int a_RelX, int a_RelY, int a_RelZ)
Adds the specified block unless already present; returns true if added, false if the block was alread...
This is a base class for all fluid simulator data classes.
cCoordWithIntVector m_Blocks[16]
Array of block containers, each item stores blocks for one Z coord Int param is the block index (for ...
std::vector< cCoordWithInt > cCoordWithIntVector
virtual ~cDelayedFluidSimulatorChunkData()