using System; using System.Collections.Generic; using WingsEmu.Game.Characters; using WingsEmu.Game.Helpers.Damages; namespace WingsEmu.Game._ECS.Systems; public interface ICharacterSystem { IPlayerEntity GetCharacterById(long id); IReadOnlyList GetCharacters(); IReadOnlyList GetCharacters(Func predicate); IReadOnlyList GetCharactersInRange(Position pos, short distance, Func predicate); IReadOnlyList GetCharactersInRange(Position pos, short distance); IReadOnlyList GetClosestCharactersInRange(Position pos, short distance); IReadOnlyList GetAliveCharacters(); IReadOnlyList GetAliveCharacters(Func predicate); IReadOnlyList GetAliveCharactersInRange(Position pos, short distance, Func predicate); IReadOnlyList GetAliveCharactersInRange(Position pos, short distance); void AddCharacter(IPlayerEntity character); void RemoveCharacter(IPlayerEntity entity); }