public long? GetNextOrderedCharacterId(Character character)
{
lock (this)
{
_order++;
List<ClientSession> sessions = Characters.Where(s => Map.GetDistance(s.Character, character) < 50).ToList();
if (_order > sessions.Count() - 1) // if order wents out of amount of ppl, reset it -> zero based index
{
_order = 0;
}
if (!sessions.Any()) // group seems to be empty
{
return null;
}
return sessions[_order].Character.CharacterId;
}
}