58 lines
1.2 KiB
C++
58 lines
1.2 KiB
C++
#ifndef ATMOSPHEREDEFINITION_H
|
|
#define ATMOSPHEREDEFINITION_H
|
|
|
|
#include "definition_global.h"
|
|
|
|
#include "BaseDefinition.h"
|
|
|
|
#include "Color.h"
|
|
|
|
namespace paysages {
|
|
namespace definition {
|
|
|
|
class AtmosphereDefinition : public BaseDefinition
|
|
{
|
|
public:
|
|
typedef enum
|
|
{
|
|
ATMOSPHERE_MODEL_DISABLED = 0,
|
|
ATMOSPHERE_MODEL_BRUNETON = 1
|
|
} AtmosphereModel;
|
|
typedef enum
|
|
{
|
|
ATMOSPHERE_PRESET_CLEAR_DAY = 0,
|
|
ATMOSPHERE_PRESET_CLEAR_SUNSET = 1,
|
|
ATMOSPHERE_PRESET_HAZY_MORNING = 2,
|
|
ATMOSPHERE_PRESET_FOGGY = 3,
|
|
ATMOSPHERE_PRESET_STORMY = 4
|
|
} AtmospherePreset;
|
|
|
|
public:
|
|
AtmosphereDefinition(BaseDefinition* parent);
|
|
virtual ~AtmosphereDefinition();
|
|
|
|
virtual void save(PackStream* stream) const override;
|
|
virtual void load(PackStream* stream) override;
|
|
|
|
virtual void copy(BaseDefinition* destination) const override;
|
|
virtual void validate() override;
|
|
|
|
void applyPreset(AtmospherePreset preset);
|
|
|
|
public:
|
|
AtmosphereModel model;
|
|
int hour;
|
|
int minute;
|
|
double humidity;
|
|
Color sun_color;
|
|
double sun_radius;
|
|
double dome_lighting;
|
|
|
|
double _daytime;
|
|
};
|
|
|
|
}
|
|
}
|
|
|
|
#endif // ATMOSPHEREDEFINITION_H
|