//----------------------------------Unity Messages---------------------------------- void OnTriggerEnter(Collider other) { if (other.CompareTag("Ingredient") && other.GetType() == typeof(MeshCollider)) { IngredientController addedIngredient = other.GetComponent <IngredientController>(); _ingredientAddedSignal.IngredientController = addedIngredient; _signalBus.Fire(_ingredientAddedSignal); IngredientController desirableIngredient = _remainingIngredients.FirstOrDefault(i => i.name == addedIngredient.name.RemoveCloneSuffix()); if (desirableIngredient == null) { _signalBus.Fire <UndesirableIngredientAddedSignal>(); return; } _remainingIngredients.Remove(desirableIngredient); _addedIngredients.Add(desirableIngredient); if (_remainingIngredients.Count == 0) { _recipeCompletedSignal.Recipe = _recipe; _signalBus.Fire(_recipeCompletedSignal); } else { _desirableIngredientAddedSignal.IngredientController = addedIngredient; _signalBus.Fire(_desirableIngredientAddedSignal); } } }
IEnumerator despawnIngredientCtrlWithDelay(IngredientController ingredientController) { yield return(new WaitForSeconds(4.0f)); _ingredientPools[ingredientController.name.RemoveCloneSuffix()].Despawn(ingredientController); }