Ejemplo n.º 1
0
        void client_PlayerUpdateStateEvent(object sender, PlayerEventArgs arg)
        {
            sendToAllPlayer(new PDUpdatePlayerState(arg.ThisPlayer.PlayerID, arg.ThisPlayer.Score));

            if (PlayerUpdatedEvent != null)
            {
                PlayerUpdatedEvent(sender, arg);
            }
        }
Ejemplo n.º 2
0
 void client_PlayerListOfTableRequestEvent(object sender, PlayerEventArgs arg)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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
                }
            }
        }
Ejemplo n.º 5
0
        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);
            }
        }