private void RemoveAllBullets() { foreach (BulletModel bullet in MainContent.EnemyBulletList.ToList()) { MainContent.RemoveBullet(bullet); MainContent.DrawBigExplosion(bullet.GetLocation()); } }
public object TimeToLiveTagged(double startLife, double endLife, object tag, BaseModel model) { if (startLife > endLife) { return(null); } if (model is EnemyModel enemyModel) { MainContent.Events.AddSingleTaggedEvent(startLife, tag, () => MainContent.EnemyShipList.Add(enemyModel)); MainContent.Events.AddSingleTaggedEvent(endLife, tag, () => MainContent.EnemyShipList.Remove(enemyModel)); } else if (model is BulletModel bullet) { if (bullet.Texture == MainContent.Textures[TextureNames.GoodBullet]) { MainContent.Events.AddSingleTaggedEvent(startLife, tag, () => MainContent.GoodBulletList.Add(bullet)); MainContent.Events.AddSingleTaggedEvent(endLife, tag, () => MainContent.GoodBulletList.Remove(bullet)); } else { MainContent.Events.AddSingleTaggedEvent(startLife, tag, () => MainContent.EnemyBulletList.Add((BulletModel)model)); MainContent.Events.AddSingleTaggedEvent(endLife, tag, () => MainContent.RemoveBullet((BulletModel)model)); } } else if (model.Texture == MainContent.Textures[TextureNames.Bomb]) { MainContent.PowerUpList.Add(model); } else { MainContent.Events.AddSingleEvent(startLife, () => MainContent.MiscModelList.Add(model)); MainContent.Events.AddSingleEvent(endLife, () => MainContent.MiscModelList.Remove(model)); } return(model); }