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("uid://dyid55nhflwyn"); private RuntimePlantData plant; public float Damage => _damage.GetValue(); public bool isEating = false; public void Bite() { if (GetParent().AbleToEat) { plant?.TakeDamage(Damage, 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; } } }