Exemplo n.º 1
0
        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);*/
        }
Exemplo n.º 2
0
        public void Update(GameTime gameTime)
        {
            oldKeyState = keyState;
            keyState = Keyboard.GetState();

            if (rain != null)
                rain.Update(camera);

            if ((keyState.IsKeyDown(Keys.D0) && !previousKeyState.IsKeyDown(Keys.D0)))
            {
                rain = new Rain(game, camera.Transform.Translation, true, graphicsDevice);
            }
            if ((keyState.IsKeyDown(Keys.D9) && !previousKeyState.IsKeyDown(Keys.D9)))
            {
                rain = new Rain(game, camera.Transform.Translation, false, graphicsDevice);
            }
            if ((keyState.IsKeyDown(Keys.D8) && !previousKeyState.IsKeyDown(Keys.D8)))
            {
                rain = null;
            }

            if (!LowSky)
            {
                Theta = sky.Theta;
                Gr = sky.Gr;
                SKY(gameTime);
            }
            sunColor = new Color(sky.SunColor);
        }