Example #1
0
 public Protocol()
 {
     _players = new PlayerCollection();
     _params  = new StringDictionary();
     _teams   = new StringCollection();
 }
Example #2
0
        private void ParsePlayers()
        {
            if (!IsOnline)
            {
                return;
            }

            if (_params.ContainsKey("numplayers"))
            {
                _players = new PlayerCollection();                // Int16.Parse( _params["numplayers"] ) );
            }

            string key, val;
            int    pNr;

            string[] parts = ResponseString.Split('\\');
            for (int i = 1; i < parts.Length; i++)
            {
                if (parts[i] == "queryid" || parts[i] == "final")
                {
                    i++;
                    continue;
                }

                key = parts[i].Substring(0, parts[i].IndexOf("_"));
                pNr = Int16.Parse(parts[i].Substring(parts[i].IndexOf("_") + 1));
                val = parts[++i];

                if (key == "teamname")
                {
                    _teams.Add(val);
                }

                try
                {
                    if (_players[pNr] == null)
                    {
                        _players.Insert(pNr, new Player());
                    }
                }
                catch (ArgumentOutOfRangeException)
                {
                    _players.Insert(pNr, new Player());
                }

                switch (key)
                {
                case "playername":
                case "player":
                    _players[pNr].Name = val;
                    break;

                case "score":
                case "frags":
                    _players[pNr].Score = Int16.Parse(val);
                    break;

                case "ping":
                    _players[pNr].Ping = Int16.Parse(val);
                    break;

                case "team":
                    _players[pNr].Team = val;
                    break;

                default:
                    _players[pNr].Parameters.Add(key, val);
                    break;
                }
            }
        }
Example #3
0
        private void ParsePlayers()
        {
            if ( !IsOnline )
            {
                return;
            }

            if ( _params.ContainsKey("numplayers") )
            {
                _players = new PlayerCollection();// Int16.Parse( _params["numplayers"] ) );
            }

            string key, val;
            int pNr;
            string[] parts = ResponseString.Split( '\\' );
            for ( int i = 1; i < parts.Length; i++ )
            {
                if ( parts[i] == "queryid" || parts[i] == "final" )
                {
                    i++;
                    continue;
                }

                key = parts[i].Substring( 0, parts[i].IndexOf( "_" ) );
                pNr = Int16.Parse( parts[i].Substring( parts[i].IndexOf( "_" ) + 1 ) );
                val = parts[++i];

                if ( key == "teamname" )
                {
                    _teams.Add( val );
                }

                try
                {
                    if ( _players[pNr] == null )
                    {
                        _players.Insert( pNr, new Player() );
                    }
                }
                catch ( ArgumentOutOfRangeException )
                {
                    _players.Insert( pNr, new Player() );
                }

                switch ( key )
                {
                    case "playername":
                    case "player":
                        _players[pNr].Name = val;
                        break;

                    case "score":
                    case "frags":
                        _players[pNr].Score = Int16.Parse( val );
                        break;

                    case "ping":
                        _players[pNr].Ping = Int16.Parse( val );
                        break;

                    case "team":
                        _players[pNr].Team = val;
                        break;

                    default:
                        _players[pNr].Parameters.Add( key, val );
                        break;
                }
            }
        }
Example #4
0
 public Protocol()
 {
     _players = new PlayerCollection();
     _params = new StringDictionary();
     _teams = new StringCollection();
 }