private IEnumerator <float> ReplenishFoodCoroutine() { var queuedAction = new QueuedPetActions(); queuedActions.Enqueue(queuedAction); yield return(Timing.WaitUntilDone(queuedAction)); FoodLevel = 100; _animator.SetTrigger(FOOD_ANIMATOR_TRIGGER); FMODUnity.RuntimeManager.PlayOneShot(EatingSFX, transform.position); }
private IEnumerator <float> HandleOilLevel() { var oilNextWait = 0f; while (!GameOver) { SetTimer(ref oilNextWait, OIL_TIME_MIN, OIL_TIME_MAX); yield return(Timing.WaitForSeconds(oilNextWait)); OilLevel -= OIL_CHANGE_STEP; var queuedAction = new QueuedPetActions(); queuedActions.Enqueue(queuedAction); yield return(Timing.WaitUntilDone(queuedAction)); CheckIfGameOver(); yield return(Timing.WaitForSeconds(0.5f)); HandleOilToPlayer(); } }
private IEnumerator <float> HandleFoodLevel() { var foodNextWait = 0f; while (!GameOver) { SetTimer(ref foodNextWait, FOOD_CHANGE_TIME_MIN, FOOD_CHANGE_TIME_MAX); yield return(Timing.WaitForSeconds(foodNextWait)); FoodLevel -= FOOD_CHANGE_STEP; var queuedAction = new QueuedPetActions(); queuedActions.Enqueue(queuedAction); yield return(Timing.WaitUntilDone(queuedAction)); CheckIfGameOver(); yield return(Timing.WaitForSeconds(0.5f)); HandleFoodToPlayer(); } }