Example #1
0
        public void EnterQueue() // Добавляет игрока в очередь
        {
            var name = ContextPlayerName;

            if (name == null)
            {
                return;
            }
            var user = PendingPlayers.FirstOrDefault(x => x.Name != name);

            if (user != null)
            {
                var session = new Session(hubContext, new Player()
                {
                    Name = name
                }, user);
                Sessions.Add(session);
                PendingPlayers.Remove(user);
            }
            else if (!PendingPlayers.Any(x => x.Name == name) && !Sessions.Any(x => x.Player1.Name == name || x.Player2.Name == name))
            {
                PendingPlayers.Add(new Player()
                {
                    Name = name
                });
            }
            else
            {
                return;
            }
        }
Example #2
0
        public void EscapeQueue()
        {
            var name      = ContextPlayerName;
            var escPlayer = PendingPlayers.FirstOrDefault(x => x.Name == name);

            if (escPlayer != null)
            {
                PendingPlayers.Remove(escPlayer);
            }
        }
 public PreConnectUnturnedPlayer GetPendingPlayerByName(string displayName)
 {
     return(PendingPlayers.FirstOrDefault(c => c.User.DisplayName.Equals(displayName, StringComparison.OrdinalIgnoreCase)));
 }
 public PreConnectUnturnedPlayer GetPendingPlayer(string uniqueID)
 {
     return(PendingPlayers.FirstOrDefault(c => c.User.Id.Equals(uniqueID)));
 }