Files
peggle-roguelike/Enemy.cs
T

53 lines
1.2 KiB
C#

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<Vector2I> _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;
}
}