using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Eat : NPCBase
{

    float lastTime = 0;

    // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        base.OnStateEnter(animator, stateInfo, layerIndex);

        lastTime = Time.time;

        // change goal to food
        var food = brain.GetFood();
        npcNav.SetDestination(food.transform.position);

        // activate any objects
        brain.SetEatObject(true);
    }

    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        var food = brain.GetFood();
        npcNav.SetDestination(food.transform.position);
        // also lose energy while doing this?
        if (Time.time > lastTime + 1f)
        {
            brain.LoseEnergy();
            lastTime = Time.time;
        }
    }

    // OnStateExit is called when a transition ends and the state machine finishes evaluating this state
    override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        // deactivate objects
        brain.SetEatObject(false);
    }
}
