public void Refresh() { Members.RemoveAll(m => m.IsDead || m.Removed || m.AIController is EnemyAIController ai && ai.State == AIState.Flee); foreach (var member in Members) { if (!member.AIController.Enabled && member.IsRemotePlayer || Character.Controlled == member || !((EnemyAIController)member.AIController).SwarmBehavior.IsActive) { ActiveMembers.Remove(member); } else { ActiveMembers.Add(member); } } }
public void ConnectMember(Player plr) { var conMemb = Find(plr.Character.Name); conMemb.Player = plr; conMemb.ViewPort(); conMemb.Server = (byte)Program.ServerCode; plr.Character.Guild = this; var notice = new SNotice(NoticeType.Guild, $"Welcome back {plr.Character.Name}"); ActiveMembers .Where(x => x.Player != null) .Select(x => x.Player.Session) .SendAsync(notice) .Wait(); }