public override void Update()
    {
        if (Camera.main.orthographicSize != Camera.main.GetComponent<CameraScript>().TargetSize) return;

        if (won)
        {
            TreeStateEating.Data data = new TreeStateEating.Data(npc);

            Tree.ChangeState("Eating", data);

            return;
        }

        if (Input.GetButtonDown(Buttons[button])) won = true;

        buttonScale += (Time.deltaTime * buttonScaleDirection * 2f);

        if (buttonScale > 1.25f)
        {
            buttonScale = 1.25f;
            buttonScaleDirection = -1f;
        }

        if (buttonScale < 0.75f)
        {
            buttonScale = 0.75f;
            buttonScaleDirection = 1f;
        }
    }
    public override void Update()
    {
        if (Camera.main.orthographicSize != Camera.main.GetComponent<CameraScript>().TargetSize) return;

        if(won)
        {
            TreeStateEating.Data data = new TreeStateEating.Data(npc);

            Tree.ChangeState("Eating", data);

            return;
        }
        
        float decrease = (percentage > 0.9f) ? 0.08f * Time.deltaTime : 0.48f * Time.deltaTime;
        float increase = 0f;

        if (Input.GetButtonDown(Buttons[button])) increase = 8f * Time.deltaTime;

        percentage += (decrease - increase);

        if (percentage >= 1f)
        {
            Lose();

            return;
        }

        if (percentage <= 0f)
        {
            percentage = 0f;
            won = true;
        }

        // Update circle
        intPercentage = Mathf.RoundToInt(percentage * 100f);

        Tree.BodyParts.MinigameCircle.GetComponent<SpriteRenderer>().sprite = Tree.Sprites.EatingMinigame.Circle[intPercentage];

        // Update arms
        sampledTime += Time.deltaTime;
        averagePercentage += percentage;
        ticks++;

        if(sampledTime > (1f / 60f))
        {
            averagePercentage /= ticks;

            UpdateArms(1f - averagePercentage);

            averagePercentage = 0f;
            sampledTime = 0f;
            ticks = 0;
        }

        buttonScale += (Time.deltaTime * buttonScaleDirection * 2f);

        if (buttonScale > 1.25f)
        {
            buttonScale = 1.25f;
            buttonScaleDirection = -1f;
        }

        if (buttonScale < 0.75f)
        {
            buttonScale = 0.75f;
            buttonScaleDirection = 1f;
        }
    }