IEnumerator Eating(FruitBehavior fruit) { eating = true; yield return(new WaitForSeconds(1f)); fruit.transform.localScale /= 2; yield return(new WaitForSeconds(1f)); fruit.transform.localScale /= 2; yield return(new WaitForSeconds(1f)); fruit.transform.localScale /= 2; yield return(new WaitForSeconds(1f)); stats.Hunger += fruit.HungerAmount; stats.Endurance += fruit.EnduranceAmount; stats.Agility += fruit.HungerAmount; stats.Strength += fruit.EnduranceAmount; stats.Happiness += fruit.HappinessAmount; stats.Hunger = Mathf.Clamp(stats.Hunger, 0, 20); stats.Happiness = Mathf.Clamp(stats.Hunger, 0, 20); GameController.Instance.UpdatePanel(this); GameController.Instance.Save(); Destroy(fruit.gameObject); eating = false; React(); }
public void OnTriggerEnter2D(Collider2D collision) { //get name from collided fruit and populate fruitHit if (collision.gameObject.tag == "fruit") { FruitBehavior currentFruit = collision.gameObject.GetComponent <FruitBehavior>(); fruitHit = currentFruit.returnFruitName(); removeFruitFromList(fruitHit, collision.gameObject); Debug.Log("Ate a " + fruitHit.ToString()); monsterAnimator.SetInteger("monsterState", 0); } }
public void SpawnFruit() { Vector3 pos = spawnPoints[currentSpawn].localPosition; currentSpawn++; currentSpawn %= spawnPoints.Count; GameObject fruit = Instantiate(fruitPrefab, transform); fruit.transform.localPosition = pos; FruitBehavior behavior = fruit.GetComponent <FruitBehavior>(); behavior.tree = this; Fruits.Add(behavior); }
public void Eat(FruitBehavior fruit) { StartCoroutine(Eating(fruit)); }