Пример #1
0
 private void OnMatchmakingFail(MatchmakingReadyFail obj)
 {
     if (_onMatchmakingUpdate != null)
     {
         _onMatchmakingUpdate(obj);
     }
 }
Пример #2
0
 public void UserLeave(Jid user)
 {
     lock (_users)
     {
         Log.InfoFormat("[{0}] {1} User Left", this, user);
         var usr = _users.FirstOrDefault(x => x == user);
         if (usr == null)
         {
             return;
         }
         switch (State)
         {
         case MatchmakingQueueState.WaitingForReadyUsers:
         case MatchmakingQueueState.WaitingForHostedGame:
             if (usr.IsInReadyQueue)
             {
                 Log.InfoFormat("[{0}] {1} User was in ready queue, so cancel that.", this, usr);
                 State = MatchmakingQueueState.WaitingForUsers;
                 foreach (var u in _users)
                 {
                     u.IsInReadyQueue = false;
                     u.IsReady        = false;
                 }
                 var msg = new MatchmakingReadyFail(null, this.QueueId);
                 Log.InfoFormat("[{0}] {1} Tell everyone ready queue failed.", this, usr);
                 foreach (var u in _users.Where(x => x.IsInReadyQueue && x != usr))
                 {
                     msg.To = u.JidUser;
                     this.Bot.Messanger.Send(msg);
                 }
             }
             break;
         }
         Log.InfoFormat("[{0}] {1} Actually remove the user", this, usr);
         _users.Remove(usr);
     }
 }