private IEnumerator StaminaChargesCoordinator() { while (true) { while (staminaChargeQueue.Count > 0) { currentRecharge = staminaChargeQueue.Dequeue(); yield return(StartCoroutine(currentRecharge)); currentRecharge = null; OnStaminaChange?.Invoke(CountStaminaChargesLeft()); } yield return(null); } }
public void UseStaminaCharge() { staminaChargeQueue.Enqueue(RecoverStaminaCharge()); OnStaminaChange?.Invoke(CountStaminaChargesLeft()); }