예제 #1
0
        public void Update(TimeSpan timeSpan)
        {
            // Create cloud list by concatenating thunderstorms and rainclouds
            Clouds = Thunderstorms.Concat <Cloud>(RainClouds).ToList();

            // Update game logic
            foreach (Cloud cloud in Clouds)
            {
                cloud.Update(iteration);
            }

            // Remove dead thunderstorms
            for (int i = 0; i < Thunderstorms.Count; i++)
            {
                if (Thunderstorms[i].IsDead())
                {
                    Thunderstorms.RemoveAt(i--);
                }
            }
            // Remove dead rainclouds
            for (int i = 0; i < RainClouds.Count; i++)
            {
                if (RainClouds[i].IsDead())
                {
                    RainClouds.RemoveAt(i--);
                }
            }
            iteration++;
        }
예제 #2
0
        public void AddRainCloud(Vector position, Vector velocity, float vapor)
        {
            RainCloud rainCloud = new RainCloud(this, vapor,
                                                graphicManager,
                                                ShapeType.RainCloud)
            {
                position = position, velocity = velocity
            };

            RainClouds.Add(rainCloud);
        }