public void RemoveRocket() { Rockets.Remove(Rockets.First()); RocketsModified(this, new RocketsRemovedEventArgs { RocketsRemovedCount = 1 }); }
public override void PerformCAction(Player performingPlayer) { if (Rockets.Any() && RocketFiredThisTurn == null) { var firedRocket = Rockets.First(); Rockets.Remove(firedRocket); RocketFiredThisTurn = firedRocket; } }
public void PerformCAction(Player performingPlayer, int currentTurn, bool isAdvancedUsage) { if (CanPerformCAction(performingPlayer)) { var canFireDoubleRocket = RocketCount > 1; var firedRocket = Rockets.First(); Rockets.Remove(firedRocket); RocketFiredThisTurn = firedRocket; var isFiringDoubleRocket = isAdvancedUsage && canFireDoubleRocket; if (isFiringDoubleRocket) { Rockets.Remove(Rockets.First()); firedRocket.SetDoubleRocket(); } RocketsModified(this, new RocketsRemovedEventArgs { RocketsRemovedCount = isFiringDoubleRocket ? 2 : 1 }); } }