Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Entity/IEnemy.cs
T

56 lines
1.2 KiB
C#

using Chickensoft.GodotNodeInterfaces;
using Godot;
using System.Collections.Immutable;
using Zennysoft.Game.Ma;
namespace Zennysoft.Ma.Adapter.Entity
{
public interface IEnemy : ICharacterBody3D
{
public void Activate();
public void Idle();
public void Die();
public void PerformAction();
public void ReturnToDefaultState();
public void OnAbsorb();
public void OnMorph();
public void OnBuff();
public void OnDebuff();
public void OnHealed();
public int GetDefeatCount(IEnemy enemyType);
public IDungeonRoom GetCurrentRoom(ImmutableList<IDungeonRoom> dungeonRooms);
public void MoveEnemyToNewRoom(IDungeonRoom newRoom);
public IHealthComponent HealthComponent { get; }
public IAttackComponent AttackComponent { get; }
public IDefenseComponent DefenseComponent { get; }
public IStatusEffectComponent StatusEffectComponent { get; }
public ElementalResistanceSet ElementalResistanceSet { get; }
public void SetEnemySpeedByMultiplier(double multiplier);
public IEnemyLootTable LootTable { get; }
public int InitialHP { get; }
public int InitialAttack { get; }
public int InitialDefense { get; }
}
}