Пример #1
0
 virtual void execute(Scene * scene){
     const vector<Atmosphere*> & atmospheres = scene->getAtmospheres();
     for (vector<Atmosphere *>::const_iterator it = atmospheres.begin(); it != atmospheres.end(); it++){
         Atmosphere * atmosphere = *it;
         atmosphere->interpret(message);
     }
 }
Пример #2
0
    void apply(Atmosphere& atmo)
    {
        if (visibility.isSet())
        {
            atmo.GetConditions().SetVisibility(visibility.get());
            visibility.clear();
        }

        if (rain.isSet())
        {
            atmo.GetConditions().SetPrecipitation(CloudLayer::NONE, 0.0);
            atmo.GetConditions().SetPrecipitation(CloudLayer::RAIN, rain.get());
            rain.clear();
        }

        if (snow.isSet())
        {
            atmo.GetConditions().SetPrecipitation(CloudLayer::NONE, 0.0);
            atmo.GetConditions().SetPrecipitation(CloudLayer::DRY_SNOW, snow.get());
            snow.clear();
        }

        if (lighting.isSet())
        {
            sky->setLighting(lighting.get());
            lighting.clear();
        }
    }
Пример #3
0
 void onInitialize(Atmosphere& atmosphere)
 {
     CloudLayer cumulus = CloudLayerFactory::Create(CUMULUS_CONGESTUS);
     cumulus.SetIsInfinite(true);
     cumulus.SetBaseAltitude(3000);
     cumulus.SetThickness(50);
     cumulus.SetBaseLength(100000);
     cumulus.SetBaseWidth(100000);
     cumulus.SetDensity(1.0);
     cumulus.SetLayerPosition(0,0);
     cumulus.SetFadeTowardEdges(true);
     cumulus.SetAlpha(0.8);
     cumulus.SetCloudAnimationEffects(0.1, false, 0, 0);
     cumulus.SeedClouds(atmosphere);
     atmosphere.GetConditions().AddCloudLayer(cumulus);
     
     atmosphere.EnableLensFlare(true);
 }
Пример #4
0
    void apply(Atmosphere& atmo)
    {
        if (visibility.isSet())
        {
            atmo.GetConditions().SetVisibility(visibility.get());
            visibility.unset();
        }

        if (rain.isSet())
        {
            atmo.GetConditions().SetPrecipitation(CloudLayer::NONE, 0.0);
            atmo.GetConditions().SetPrecipitation(CloudLayer::RAIN, rain.get());
            rain.unset();
        }

        if (snow.isSet())
        {
            atmo.GetConditions().SetPrecipitation(CloudLayer::NONE, 0.0);
            atmo.GetConditions().SetPrecipitation(CloudLayer::DRY_SNOW, snow.get());
            snow.unset();
        }
    }
Пример #5
0
void AtmosphericData::Update(Atmosphere& atmosphere, F32 altitude)
{
	*this = atmosphere.GetAtmosphericData(altitude);
}