protected IEnumerator StopPowerUp(iPowerUp powerUp)
    {
        if (powerUp.GetPowerUpType() != PowerUpType.Health || powerUp.GetAmountType() != AmountType.Great)
        {
            charStats.DenyPowerUp(powerUp.GetPowerUpType(), powerUp.GetAmount());
            ReInitTakenGun(currentRifleObject.GetComponent <iGun>());
        }
        else
        {
            currentHealth /= powerUp.GetAmount();
        }
        yield return(new WaitForEndOfFrame());// new WaitForSeconds(powerUp.GetPowerUpTimeLength());

        appliedPowerups.Remove(powerUp);
        Debug.Log("Removed Powerup");
    }
 public void GotPowerUp(iPowerUp powerUp)
 {
     if (powerUp.GetPowerUpType() != PowerUpType.Health || powerUp.GetAmountType() != AmountType.Great)
     {
         float nAmount = charStats.ApplyPowerUp(powerUp.GetPowerUpType(), powerUp.GetAmount(), powerUp.GetAmountType());
         powerUp.SetNewAmount(nAmount);
         ReInitTakenGun(currentRifleObject.GetComponent <iGun>());
     }
     else
     {
         currentHealth += (charStats.GetMaxHealth() * (powerUp.GetAmount() - 1));
     }
     powerUp.SetStartTime(Time.time);
     appliedPowerups.Add(powerUp);
     Debug.Log("Applied Powerup");
 }