99856df686
* WakeUp is for singular changes (block breaking for example). The simulator should check blocks around the position and discover other affected blocks as it sees fit * AddBlock is for when you know a whole area is to be updated; chunk loading, or area wakeups for example + Prepares for correct handling of destroyed blocks after removal of SolidBlockHandler in the redstone simulator
37 lines
424 B
C++
37 lines
424 B
C++
|
|
#pragma once
|
|
|
|
#include "Simulator.h"
|
|
|
|
|
|
|
|
|
|
|
|
class cRedstoneSimulatorChunkData
|
|
{
|
|
public:
|
|
virtual ~cRedstoneSimulatorChunkData() = 0;
|
|
};
|
|
|
|
inline cRedstoneSimulatorChunkData::~cRedstoneSimulatorChunkData() {}
|
|
|
|
|
|
|
|
|
|
|
|
class cRedstoneSimulator:
|
|
public cSimulator
|
|
{
|
|
using Super = cSimulator;
|
|
|
|
public:
|
|
|
|
cRedstoneSimulator(cWorld & a_World):
|
|
Super(a_World)
|
|
{
|
|
}
|
|
|
|
virtual cRedstoneSimulatorChunkData * CreateChunkData() = 0;
|
|
|
|
};
|