/// <summary> /// Updates the explosions. /// </summary> /// <param name="gameTime">The GameTime.</param> private void UpdateExplosion(GameTime gameTime) { for (int i = 0; i < Explosions.Count; i++) { Explosion explosion = Explosions[i]; if (explosion.RemainingLifeTime <= 0) { Explosions.Remove(explosion); i++; } else { explosion.Update(gameTime); } } }
public int Update(GameTime gameTime, float screenWidth, float screenHeight, double totalGameTime) { //foreach (var ship in _shipCollection) // ship.Update(elapsedTime, screenWidth, screenHeight); //for (int i = _projectiles.Count - 1; i >= 0; i--) //{ // if (_projectiles[i].Y > screenHeight) // _projectiles.Remove(_projectiles[i]); // else // _projectiles[i].Update(elapsedTime, screenWidth, screenHeight); //} var newShips = CreateShips(gameTime, screenWidth, totalGameTime); for (int i = Ships.Count - 1; i >= 0; i--) { if (Ships[i].Position.Y > screenHeight) { Ships.Remove(Ships[i]); } else { Ships[i].Update(gameTime, screenWidth, screenHeight); } } for (int i = Explosions.Count - 1; i >= 0; i--) { if (!Explosions[i].Active) { Explosions.Remove(Explosions[i]); } else { Explosions[i].Update(gameTime); } } return(newShips); }
private async Task SelectedChangedAsync(Event _event) { if (SelectedEvents.All(e => e != _event)) { foreach (var report in Reports.ToArray()) { if (report.Event.Id == _event.Id) { Reports.Remove(report); } } foreach (var explosion in Explosions.ToArray()) { if (explosion.Event.Id == _event.Id) { Explosions.Remove(explosion); } } } else { var reports = await MapModel.GetReports(_event.Id); var explosions = await MapModel.GetExplosions(_event.Id); foreach (var report in reports) { Reports.Add(report); } foreach (var explosion in explosions) { Explosions.Add(explosion); } } OnPropertyChanged(nameof(LocationList)); }