void client_PlayerUpdateStateEvent(object sender, PlayerEventArgs arg) { sendToAllPlayer(new PDUpdatePlayerState(arg.ThisPlayer.PlayerID, arg.ThisPlayer.Score)); if (PlayerUpdatedEvent != null) { PlayerUpdatedEvent(sender, arg); } }
void client_PlayerListOfTableRequestEvent(object sender, PlayerEventArgs arg) { throw new NotImplementedException(); }
void client_PlayerDisConectedEvent(object sender, PlayerEventArgs arg) { m_clients.Remove(arg.ThisPlayer.PlayerID); //On doit quitter les tables TablesManager.getInstance().exitAllTable((PlayerObserver)sender); sendToAllPlayer(new PDDeletePlayer(arg.ThisPlayer.PlayerID)); if (PlayerDeletedEvent != null) { PlayerDeletedEvent(this, arg); } }
void client_PlayerListOfPlayerRequestEvent(object sender, PlayerEventArgs arg) { PDInsertPlayer pd; PlayerObserver client = sender as PlayerObserver; foreach (var item in m_clients) { pd = new PDInsertPlayer(item.Value.ThisPlayer.PlayerID, item.Value.ThisPlayer.Login, item.Value.ThisPlayer.Score); try { client.SocketClient.sendPacket(pd); } catch (System.Exception ex) { #if DEBUG System.Console.WriteLine(ex.StackTrace); #endif } } }
void client_PlayerConectedEvent(object sender, PlayerEventArgs arg) { PlayerObserver client = (PlayerObserver)sender; //\todo traiter correctement le cas ou le client se connecte une deuxième fois if (m_clients.ContainsKey(client.ThisPlayer.PlayerID)) { m_clients[client.ThisPlayer.PlayerID].deconnectPlayer(); if (m_clients.ContainsKey(client.ThisPlayer.PlayerID)) { m_clients.Remove(client.ThisPlayer.PlayerID); } Thread.Sleep(0); } m_newClient.Remove(client); m_clients.Add(arg.ThisPlayer.PlayerID, client); client.PlayerDisConectedEvent += new PlayerDisConectedEventHandler(client_PlayerDisConectedEvent); client.PlayerPublicChatSendEvent += new PlayerPublicChatSendEventHandler(client_PlayerPublicChatSendEvent); client.PlayerUpdateStateEvent += new PlayerUpdateStateEventHandler(client_PlayerUpdateStateEvent); client.PlayerNewTableEvent += new PlayerNewTableEventHandler(client_PlayerNewTableEvent); client.PlayerJoinTableEvent += new PlayerJoinTableEventHandler(client_PlayerJoinTableEvent); client.PlayerExitTableEvent += new PlayerExitTableEventHandler(client_PlayerExitTableEvent); client.PlayerListOfPlayerRequestEvent += new PlayerListOfPlayerRequestEventHandler(client_PlayerListOfPlayerRequestEvent); client.PlayerListOfTableRequestEvent += new PlayerListOfTableRequestEventHandler(client_PlayerListOfTableRequestEvent); sendToAllPlayer(new PDInsertPlayer(client.ThisPlayer.PlayerID, client.ThisPlayer.Login, client.ThisPlayer.Score)); if (PlayerInsertedEvent != null) { PlayerInsertedEvent(this, arg); } }