Beispiel #1
0
 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);
         }
     }
 }
Beispiel #2
0
        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();
        }