using Godot; using System.Collections.Generic; public partial class Eyesight : Area2D { private bool _enemyDetected; public bool EnemyDetected => _enemyDetected; private List _detectedEntities = new List(); private RuntimePlantData _plantData; public override void _Ready() { _plantData = GetParent(); } public void OnAreaEntered(Area2D area) { var entity = area.GetParent(); if (entity != null) { if (_plantData.Line == entity.Line) { _detectedEntities.Add(entity); } } _enemyDetected = _detectedEntities.Count > 0; } public void OnAreaExited(Area2D area) { var entity = area.GetParent(); if (entity != null) { if (_detectedEntities.Contains(entity)) { _detectedEntities.Remove(entity); } } _enemyDetected = _detectedEntities.Count > 0; } }