using Godot; using System; using System.Collections.Generic; using System.Linq; public partial class Enemy : StaticBody2D { [Signal] public delegate void DeathEventHandler(Enemy THIS); public int _damage = 1, _health = 2, _speed, _visibilityRange = 10; public Vector2I _address, _range = Vector2I.Up; 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); } } }