server-master/srcs/WingsAPI.Game/Core/ECS/Systems/INpcSystem.cs
2026-02-10 18:21:30 +01:00

20 lines
No EOL
819 B
C#

using System;
using System.Collections.Generic;
using WingsEmu.Game.Entities;
using WingsEmu.Game.Helpers.Damages;
namespace WingsEmu.Game._ECS.Systems;
public interface INpcSystem
{
IReadOnlyList<INpcEntity> GetAliveNpcs();
IReadOnlyList<INpcEntity> GetAliveNpcs(Func<INpcEntity, bool> predicate);
IReadOnlyList<INpcEntity> GetPassiveNpcs();
IReadOnlyList<INpcEntity> GetAliveNpcsInRange(Position pos, short distance, Func<INpcEntity, bool> predicate);
IReadOnlyList<INpcEntity> GetAliveNpcsInRange(Position pos, short distance);
IReadOnlyList<INpcEntity> GetClosestNpcsInRange(Position pos, short distance);
void NpcRefreshTarget(INpcEntity npcEntity, IBattleEntity target);
INpcEntity GetNpcById(long id);
void AddNpc(INpcEntity entity);
void RemoveNpc(INpcEntity entity);
}