1 #ifndef CORE_MAPS_WEATHER_HPP
2 #define CORE_MAPS_WEATHER_HPP
4 #include <BLIB/Engine/Engine.hpp>
5 #include <SFML/Graphics.hpp>
117 void set(
Type type,
bool immediate =
false);
133 enum State { Continuous, WaitingWeather, Stopping, WaitingStopped };
136 std::unique_ptr<weather::Base> weather;
Core classes and functionality for both the editor and game.
The primary map class that represents a usable map in the game.
Parent weather system for maps. Manages active weather.
@ HardSnowThunder
Hard snow with thunder.
@ Sunny
A very sunny day with pulsating light.
@ ThinFog
Thin fog covers the area.
@ SandStorm
A sandstorm ravages you.
@ HardRain
Hard rain with no thunder.
@ HardRainThunder
Hard rain with thunder.
@ LightRainThunder
Light rain with thunder.
@ None
No weather will occur.
@ WaterRandom
Periodically triggers one of LightRain, HardRain, LightRainThunder, HardRainThunder.
@ LightSnowThunder
Light snow with thunder.
@ LightRain
Light rain with no thunder.
@ SnowRandom
Periodically triggers one of LightSnow, HardSnow, LightSnowThunder, HardSnowThunder.
@ ThickFog
Thick fog obscures everything.
@ LightSnow
Light snow with no thunder.
@ DesertRandom
Periodically triggers one of Sunny, Sandstorm.
@ HardSnow
Hard snow with no thunder.
@ AllRandom
All types of weather may occur over time.
Weather()
Initializes the weather system with None.
void update(float dt)
Updates the current weather.
void activate(system::Systems &systems, Map &map)
Activates the weather system.
~Weather()
Terminates active weather.
Type getType() const
Returns the current type of weather.
void set(Type type, bool immediate=false)
Sets the current weather type.
Owns all primary systems and a reference to the engine.
Base class for all weather types.