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