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 dungeonRooms); public AttackComponent AttackComponent { get; } public DefenseComponent DefenseComponent { get; } public int InitialHP { get; } public int InitialAttack { get; } public int InitialDefense { get; } } }