示例#1
0
        public void broadcast(Messages.GameMessages message)
        {
            WCFMessage newMessage = null;

            //Interpet message
            switch (message)
            {
            case Messages.GameMessages.PlayerConnected:
                newMessage = new WCFMessage()
                {
                    Type = Messages.DTOType.lobby, Data = getLobbyDTO()
                };
                break;

            case Messages.GameMessages.matchCreated:
                newMessage = new WCFMessage()
                {
                    Type = Messages.DTOType.lobby, Data = getLobbyDTO()
                };
                break;

            default:
                break;
            }
            //Send to all
            if (newMessage != null && players != null)
            {
                foreach (var player in players)
                {
                    newMessage.Player = player;
                    MyMessages[player.PlayerName].Add(newMessage);
                }
            }
        }
示例#2
0
        /// <summary>
        /// Reads messages and if they contain data it gets set to appropriate members
        /// </summary>
        private void parseNewMessage(WCFMessage msg)
        {
            if (connected)
            {
                if (msg == null)
                {
                    return;
                }

                myDTO = msg.Data;
                switch (msg.Type)
                {
                case Messages.DTOType.lobby:
                    parseLobbyDTO(msg.Data);
                    break;

                case Messages.DTOType.message:
                    sendFeedback("parseNewMessage", msg.Data.Message);
                    break;

                case Messages.DTOType.match:
                    parseMatchDTO(msg.Data);
                    break;

                default:
                    break;
                }
            }
        }
示例#3
0
        /// <summary>
        /// Addds a new message to the player containint all loby data (matches,etc)
        /// </summary>
        /// <param name="player"></param>
        void updatePlayer(DataPlayer player)
        {
            WCFMessage dataMessage = new WCFMessage()
            {
                Type = Messages.DTOType.lobby, Data = getLobbyDTO()
            };

            MyMessages[player.PlayerName].Add(dataMessage);
        }
示例#4
0
 /// <summary>
 /// Adds a new message to the player containing the match he is playing if there is one
 /// </summary>
 /// <param name="player"></param>
 void updatePlayerInMatch(DataPlayer player)
 {
     if (player.ActiveMatch != null)
     {
         WCFMessage msg = new WCFMessage()
         {
             Type = Messages.DTOType.match, Data = getMatchDTO(player.ActiveMatch)
         };
         MyMessages[player.PlayerName].Add(msg);
     }
 }