using Godot;
using Newlon.Components.Plants;


namespace Newlon.Components.Zombies;

public partial class EatBox : Area2D
{
    // Rewrite this class completely when field system will be introduced.

    [Export] public FloatModifiers _damage;
    [Export]
    private AudioStream biteSound = ResourceLoader.Load<AudioStream>("uid://dyid55nhflwyn");
    private RuntimePlantData plant;

    public bool isEating = false;

    public void Bite()
    {
        if (GetParent<RuntimeZombieData>().AbleToEat)
        {
            plant?.TakeDamage((int)_damage.GetValue(), GetParent());
            AudioSequencer.Play("bite", biteSound);
        }

    }

    public void OnAreaEntered(Area2D area)
    {
        var parent = area.GetParent();

        if (parent != null && parent is RuntimePlantData plantData)
        {
            plant = plantData;
            isEating = true;

        }
    }

    public void OnAreaExited(Area2D area)
    {
        var parent = area.GetParent();

        if (parent == plant)
        {
            plant = null;
            isEating = false;
        }
    }
}
