Recast  1
Game with custom magic
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
GeneratableChunkedTemperatureWorld.hpp
Go to the documentation of this file.
1 //
2 // Created by Oleg Morozenkov on 15.06.17.
3 //
4 
5 #ifndef RECAST_ONDEMANDGENERETABLESYNCHRONIZEDLISTGENERICCHUNKEDTEMPERATUREWORLD_H
6 #define RECAST_ONDEMANDGENERETABLESYNCHRONIZEDLISTGENERICCHUNKEDTEMPERATUREWORLD_H
7 
8 
13 
19  : public virtual ITemperatureWorldChunkableObservable<ITemperatureWorldChunkableGeneratable<ITemperatureWorldChunkableMutable<ITemperatureWorldChunkable<ITemperatureWorld>>>>
20  , public virtual ChunkedTemperatureWorld
21 {
22 public:
26 
27  bool hasOrIsGeneratableChunk(Coord x, Coord y, Coord z) const noexcept override;
28  std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>> getOrGenerateChunk(Coord x, Coord y, Coord z) override;
29 
30  void addChunk(std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>> chunk) override;
31  void removeChunk(std::shared_ptr<ITemperatureWorldBoundable<ITemperatureWorld>> chunk) override;
32 
33  void onChunkAdd(OnChunkEventFn func) override;
34  void onChunkRemove(OnChunkEventFn func) override;
35 
36 protected:
39 
40  std::list<OnChunkEventFn> _onChunkAddListeners;
41  std::list<OnChunkEventFn> _onChunkRemoveListeners;
42 };
43 
44 
45 #endif //RECAST_ONDEMANDGENERETABLESYNCHRONIZEDLISTGENERICCHUNKEDTEMPERATUREWORLD_H
void onChunkRemove(OnChunkEventFn func) override
Definition: GeneratableChunkedTemperatureWorld.cpp:60
std::function< std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >>(Coord, Coord, Coord)> MakeChunkFn
Definition: GeneratableChunkedTemperatureWorldTypedefs.hpp:15
std::list< OnChunkEventFn > _onChunkRemoveListeners
Definition: GeneratableChunkedTemperatureWorld.hpp:41
Definition: GeneratableChunkedTemperatureWorld.hpp:18
bool hasOrIsGeneratableChunk(Coord x, Coord y, Coord z) const noexceptoverride
Definition: GeneratableChunkedTemperatureWorld.cpp:16
Definition: ITemperatureWorldChunkableObservable.hpp:42
Definition: Coord.hpp:16
std::function< bool(Coord, Coord, Coord)> NeedChunkFn
Definition: GeneratableChunkedTemperatureWorldTypedefs.hpp:14
GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn _makeChunkFn
Definition: GeneratableChunkedTemperatureWorld.hpp:38
void onChunkAdd(OnChunkEventFn func) override
Definition: GeneratableChunkedTemperatureWorld.cpp:56
void removeChunk(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override
Definition: GeneratableChunkedTemperatureWorld.cpp:48
void addChunk(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >> chunk) override
Definition: GeneratableChunkedTemperatureWorld.cpp:40
GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn _needChunkFn
Definition: GeneratableChunkedTemperatureWorld.hpp:37
std::function< void(std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld >>)> OnChunkEventFn
Definition: ITemperatureWorldChunkableObservable.hpp:17
std::shared_ptr< ITemperatureWorldBoundable< ITemperatureWorld > > getOrGenerateChunk(Coord x, Coord y, Coord z) override
Definition: GeneratableChunkedTemperatureWorld.cpp:25
GeneratableChunkedTemperatureWorld(GeneratableChunkedTemperatureWorldTypedefs::NeedChunkFn needChunkFn, GeneratableChunkedTemperatureWorldTypedefs::MakeChunkFn makeChunkFn)
Definition: GeneratableChunkedTemperatureWorld.cpp:10
std::list< OnChunkEventFn > _onChunkAddListeners
Definition: GeneratableChunkedTemperatureWorld.hpp:40
Definition: ChunkedTemperatureWorld.hpp:18