using System; using System.Collections.Generic; using WingsEmu.Game.Entities; using WingsEmu.Game.Helpers.Damages; using WingsEmu.Game.Mates; namespace WingsEmu.Game._ECS.Systems; public interface IMateSystem { IReadOnlyList GetAliveMates(); IReadOnlyList GetAliveMates(Func predicate); IReadOnlyList GetAliveMatesInRange(Position position, short range); IReadOnlyList GetClosestMatesInRange(Position position, short range); IReadOnlyList GetAliveMatesInRange(Position position, short range, Func predicate); IMateEntity GetMateById(long mateId); void AddMate(IMateEntity entity); void RemoveMate(IMateEntity entity); }