Пример #1
0
 private void MessageHandlerChange(Yad.Net.Server.Server server, bool enter)
 {
     lock (((ICollection)_playerCollection).SyncRoot) {
         foreach (Player player in _playerCollection.Values)
         {
             Player p = player as Player;
             if (enter)
             {
                 p.OnReceiveMessage -= new ReceiveMessageDelegate(server.MessageHandler.OnReceivePlayerMessage);
                 p.OnReceiveMessage += new ReceiveMessageDelegate(this.MessageHandler.OnReceivePlayerMessage);
                 p.OnConnectionLost += new ConnectionLostDelegate(this.OnConnectionLost);
             }
             else
             {
                 p.OnReceiveMessage += new ReceiveMessageDelegate(server.MessageHandler.OnReceivePlayerMessage);
                 p.OnReceiveMessage -= new ReceiveMessageDelegate(this.MessageHandler.OnReceivePlayerMessage);
                 p.OnConnectionLost -= new ConnectionLostDelegate(this.OnConnectionLost);
             }
         }
     }
 }
Пример #2
0
 public void LeaveMsgHandlerChange(Yad.Net.Server.Server server)
 {
     MessageHandlerChange(server, false);
 }
Пример #3
0
 public void EnterMsgHandlerChange(Yad.Net.Server.Server server)
 {
     MessageHandlerChange(server, true);
 }