Peoplemon  0.1.0
Peoplemon 3 game source documentation
Base.hpp
Go to the documentation of this file.
1 #ifndef CORE_MAPS_WEATHER_BASE_HPP
2 #define CORE_MAPS_WEATHER_BASE_HPP
3 
4 #include <BLIB/Engine/Engine.hpp>
5 #include <Core/Maps/Weather.hpp>
6 #include <SFML/Graphics.hpp>
7 
14 namespace core
15 {
16 namespace map
17 {
18 class Map;
19 
21 namespace weather
22 {
28 struct Base {
32  virtual ~Base() = default;
33 
39  virtual Weather::Type type() const = 0;
40 
46  virtual void update(float dt) = 0;
47 
55  virtual void start(bl::engine::Engine& engine, bl::rc::RenderTarget& renderTarget,
56  Map& map) = 0;
57 
61  virtual void stop() = 0;
62 
68  virtual bool stopped() const = 0;
69 };
70 
71 } // namespace weather
72 } // namespace map
73 } // namespace core
74 
75 #endif
Core classes and functionality for both the editor and game.
The primary map class that represents a usable map in the game.
Definition: Map.hpp:49
Type
The type of weather.
Definition: Weather.hpp:38
Base class for all weather types.
Definition: Base.hpp:28
virtual ~Base()=default
Destroy the Base object.
virtual bool stopped() const =0
Returns true when the weather has completed stopping.
virtual void update(float dt)=0
Update the weather.
virtual void start(bl::engine::Engine &engine, bl::rc::RenderTarget &renderTarget, Map &map)=0
Start the weather using the initial area.
virtual void stop()=0
Stop the weather.
virtual Weather::Type type() const =0
Returns the type of weather this is.