using Godot; using System; using System.Collections.Generic; using System.Linq; public partial class Enemy : StaticBody2D { [Signal] public delegate void DeathEventHandler(Enemy THIS); public bool _hovered = false; public int _damage = 1, _health = 2, _speed, _speedRemaining, _visibilityRange = 4; public Vector2I _address, _range = Vector2I.Up; public List _path = new(); public float _movement = 0; public EnemyController _enemyController; public override void _Ready() { base._Ready(); } public override void _PhysicsProcess(double delta) { base._PhysicsProcess(delta); } public void Attack(Commander COMMANDER) { COMMANDER.TakeDamage(_damage, this); } public void CounterAttack(Commander COMMANDER) { } public void TakeDamage(int DAMAGE, Commander ATTACKER) { _health -= DAMAGE; CounterAttack(ATTACKER); if (_health <= 0) { EmitSignal(SignalName.Death, this); } } public void OnMouseEntered(){ _hovered = true; } public void OnMouseExited(){ _hovered = true; } }