![]() |
Recast
1
Game with custom magic
|
#include <GeneratableChunkedTemperatureWorld.hpp>
Public Member Functions | |
GeneratableChunkedTemperatureWorld (GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn needChunkFn, GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn makeChunkFn) | |
bool | hasOrIsGeneratableChunk (Coord x, Coord y, Coord z) const noexceptoverride |
std::shared_ptr < ITemperatureWorldBoundable < ITemperatureWorld > > | getOrGenerateChunk (Coord x, Coord y, Coord z) override |
void | addChunk (std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override |
void | removeChunk (std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override |
void | onChunkAdd (OnChunkEventFn func) override |
void | onChunkRemove (OnChunkEventFn func) override |
![]() | |
virtual | ~ITemperatureWorld () noexcept=default |
![]() | |
ChunkedTemperatureWorld () | |
bool | hasChunk (Coord x, Coord y, Coord z) const noexceptoverride |
std::shared_ptr < ITemperatureWorldBoundable < ITemperatureWorld > > | getChunk (Coord x, Coord y, Coord z) const override |
void | foreachChunk (ForeachChunkFn func) const override |
bool | has (Coord x, Coord y, Coord z) const noexceptoverride |
Temperature | get (Coord x, Coord y, Coord z) const override |
void | set (Coord x, Coord y, Coord z, Temperature temperature) override |
void | amplify (Coord x, Coord y, Coord z, Temperature temperature) override |
Coord | previousCoordX (Coord x) const noexceptoverride |
Coord | previousCoordY (Coord y) const noexceptoverride |
Coord | previousCoordZ (Coord z) const noexceptoverride |
Coord | nextCoordX (Coord x) const noexceptoverride |
Coord | nextCoordY (Coord y) const noexceptoverride |
Coord | nextCoordZ (Coord z) const noexceptoverride |
Protected Attributes | |
GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn | _needChunkFn |
GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn | _makeChunkFn |
std::list< OnChunkEventFn > | _onChunkAddListeners |
std::list< OnChunkEventFn > | _onChunkRemoveListeners |
![]() | |
std::list< std::shared_ptr < ITemperatureWorldBoundable < ITemperatureWorld > > > | _chunks |
Additional Inherited Members | |
![]() | |
using | ForeachChunkFn = std::function< void(const std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> &)> |
![]() | |
using | OnChunkEventFn = std::function< void(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >>)> |
Implementation of temperature world divided by chunks. It's backed by std::list
. It will create new chunk if client accesses temperature of point in non-existing chunk.
GeneratableChunkedTemperatureWorld::GeneratableChunkedTemperatureWorld | ( | GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn | needChunkFn, |
GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn | makeChunkFn | ||
) |
|
overridevirtual |
Adds a chunk to this temperature world.
chunk | Chunk to add. |
Reimplemented from ChunkedTemperatureWorld.
Reimplemented in ScalingGeneratableChunkedTemperatureWorld.
|
overridevirtual |
Retrieves chunk which holds this point. If chunk doesn't exist, the method will generate chunk if it's possible.
x | X coordinate. |
y | Y coordinate. |
z | Z coordinate. |
Implements ITemperatureWorldChunkableGeneratableMixin.
|
overridevirtualnoexcept |
Tells whether the chunk which holds this point exists. If chunk doesn't exist, the method will tell whether it will generated on getOrGenerateChunk
call. This method doesn't throw exceptions.
x | X coordinate. |
y | Y coordinate. |
z | Z coordinate. |
Implements ITemperatureWorldChunkableGeneratableMixin.
|
overridevirtual |
Subscribes listener to chunk add events.
func | Listener. |
Implements ITemperatureWorldChunkableObservableMixin.
|
overridevirtual |
Subscribes listener to chunk remove events.
func | Listener. |
Implements ITemperatureWorldChunkableObservableMixin.
|
overridevirtual |
Removes chunk from this temperature world.
chunk | Chunk to remove. |
Reimplemented from ChunkedTemperatureWorld.
Reimplemented in ScalingGeneratableChunkedTemperatureWorld.
|
protected |
|
protected |
|
protected |
|
protected |