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++; }
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); }