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();
    }
Exemple #2
0
 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);
     }
 }
Exemple #3
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));
 }