IEnumerator EatPlant(FoliageFoodSource plant) { while (!Physics.OverlapSphere(transform.position, 1f).Contains(plant.GetComponent <Collider>())) { navAgent.SetDestination(plant.transform.position); yield return(new WaitForSeconds(1f)); } while (Nutrition < maxNutrition && plant.remainingNutrition != 0) { if (plant.remainingNutrition < 0.01f) { Nutrition += plant.remainingNutrition; plant.remainingNutrition = 0; } else { Nutrition += 0.01f; plant.remainingNutrition -= 0.01f; yield return(null); } } plant.Release(); activity = CreatureActivity.Idle; yield break; }
public override void OnInspectorGUI() { DrawDefaultInspector(); FoliageFoodSource foodSource = (FoliageFoodSource)target; if (GUILayout.Button("Refill")) { foodSource.remainingNutrition = foodSource.baseNutrition; } if (GUILayout.Button("Empty")) { foodSource.remainingNutrition = 0f; } }