void Weather() { if (weather == SkyDomeSystem.Weather.Rain && Time == 0) { rain = new Rain(game, camera.Transform.Translation, false, graphicsDevice); rain.density = 0f; } if (weather == SkyDomeSystem.Weather.Rain && rain != null) { rain.density += 0.02f; if (rain.density > 10f) rain.density = 10; } if (weather != SkyDomeSystem.Weather.Rain && rain != null) { rain.density -= 0.02f; if (rain.density < 0f) rain.density = 0; if (Time == 1) rain = null; } Time += 0.001f; if (Time >= TIME) { sky.prevWeather = weather; Time = 0; random = new Random(); TIME = random.Next(6, 10); if (sky.prevWeather == SkyDomeSystem.Weather.Rain) weather = SkyDomeSystem.Weather.MoreClouds; else if (sky.prevWeather == SkyDomeSystem.Weather.Clear) weather = SkyDomeSystem.Weather.SomeClouds; else if (sky.prevWeather == SkyDomeSystem.Weather.Clouds) { rndW = new Random(); int Ch = rndW.Next(1, 3); if (Ch == 1) weather = SkyDomeSystem.Weather.MoreClouds; else if (Ch == 2) weather = SkyDomeSystem.Weather.SomeClouds; } } sky.WeatherChange(ref weather); /* Console.WriteLine("Time=" + Time); Console.WriteLine("TIME =" + TIME); Console.WriteLine("Weather = " + weather); Console.WriteLine("PrevWeather = " + sky.prevWeather);*/ }
public void Initialize() { if(LowSky) { skySphere = new SkySphere(game.Content, graphicsDevice, game.Content.Load<TextureCube>("textures//Skybox//skybox")); } else { GameTime gt = new GameTime(); sky = new SkyDomeSystem(game, camera, gt, graphicsDevice); Theta = sky.Theta = 2.4f; Gr = sky.Gr; sky.Parameters.NumSamples = 10; TIME = random.Next(5, 10); // 510 sky.prevWeather = SkyDomeSystem.Weather.Clear; sky.WeatherChange(ref sky.prevWeather); weather = SkyDomeSystem.Weather.Clear; sky.WeatherChange(ref weather); } }