40 lines
851 B
C#
40 lines
851 B
C#
using Godot;
|
|
using System.Collections.Immutable;
|
|
using Zennysoft.Game.Implementation.Components;
|
|
using Zennysoft.Game.Ma;
|
|
|
|
namespace Zennysoft.Ma.Adapter.Entity
|
|
{
|
|
public interface IEnemy
|
|
{
|
|
public void Activate();
|
|
|
|
public void Idle();
|
|
|
|
public void Die();
|
|
|
|
public void PerformAction();
|
|
|
|
public void ReturnToDefaultState();
|
|
|
|
public void TakeDamage(int damage);
|
|
|
|
public void SetTarget(Vector3 targetPosition);
|
|
|
|
public void SetEnemyPosition(Vector3 position);
|
|
|
|
public void LookAtTarget(Vector3 target);
|
|
|
|
public IDungeonRoom GetCurrentRoom(ImmutableList<IDungeonRoom> dungeonRooms);
|
|
|
|
public AttackComponent AttackComponent { get; }
|
|
|
|
public DefenseComponent DefenseComponent { get; }
|
|
|
|
public int InitialHP { get; }
|
|
|
|
public int InitialAttack { get; }
|
|
|
|
public int InitialDefense { get; }
|
|
}
|
|
} |