Example #1
0
    void processTerritoryMsg(string msgData)
    {
        // TODO: ONLY VALID cell numbers accepted
        TerritoriesData td = new TerritoriesData();
        int charCounter = 0;
        int charIndex0 = 0;

        // GET MESSAGE TYPE
        strMessage.Replace(" ", null);

        foreach(char c in msgData)
        {
            if(c == ':')
            {
                charIndex0 = charCounter;
                break;
            }
            charCounter++;
        }

        string data = msgData.Substring(3+charIndex0, msgData.Length-charIndex0-4);
        int bracketCount = 0;
        string number = "";
        string teamName = "";
        bool lastWasNumber = false;
        bool lastWasLetter = false;

        Tuple coordinate = new Tuple();
        Debug.Log(data);

        foreach(char m in data)
        {
            if(m == '[')
            {
                bracketCount++;
            }

            if(m == ']')
            {
                if(lastWasNumber)
                {
                    coordinate.second = Int32.Parse(number);
                    //Debug.Log(coordinate.second.ToString());
                    int ind = coordinate.second + coordinate.first;//; * createBoard.instance.gridWidth;
                    //Debug.Log(ind.ToString());
                    td.gridCell.first = coordinate.first;
                    //teamTerritoryCoordinates.Add(coordinate);
                    coordinate = new Tuple();
                    number = "";
                    lastWasNumber = false;
                }
                bracketCount--;
            }

            if(m == doubleQuote && lastWasLetter)
            {
                td.name = teamName;
                tData.Add(td);
                td = new TerritoriesData();
                lastWasLetter = false;
                teamName = "";
            }

            if(m ==',')
            {
                if(lastWasNumber)
                {
                    coordinate.first = Int32.Parse(number);
                    number = "";
                    lastWasNumber = false;
                }
            }
            if( Char.IsNumber(m) && !lastWasLetter)
            {
                number+= m;
                lastWasNumber = true;
            }
            if( Char.IsLetter(m) )
            {
                teamName+= m;
                lastWasLetter = true;
            }

            //Debug.Log(m.ToString());
        }
        //UpdateSync();

        //teamTerritoryCoordinates.Clear();
        //teamNames.Clear();
        //Debug.Log(data);
    }
Example #2
0
    void processTerritoryMsg(string msgData)
    {
        // TODO: ONLY VALID cell numbers accepted
        TerritoriesData td          = new TerritoriesData();
        int             charCounter = 0;
        int             charIndex0  = 0;

        // GET MESSAGE TYPE
        strMessage.Replace(" ", null);

        foreach (char c in msgData)
        {
            if (c == ':')
            {
                charIndex0 = charCounter;
                break;
            }
            charCounter++;
        }

        string data          = msgData.Substring(3 + charIndex0, msgData.Length - charIndex0 - 4);
        int    bracketCount  = 0;
        string number        = "";
        string teamName      = "";
        bool   lastWasNumber = false;
        bool   lastWasLetter = false;

        Tuple coordinate = new Tuple();

        Debug.Log(data);

        foreach (char m in data)
        {
            if (m == '[')
            {
                bracketCount++;
            }

            if (m == ']')
            {
                if (lastWasNumber)
                {
                    coordinate.second = Int32.Parse(number);
                    //Debug.Log(coordinate.second.ToString());
                    int ind = coordinate.second + coordinate.first;                    //; * createBoard.instance.gridWidth;
                    //Debug.Log(ind.ToString());
                    td.gridCell.first = coordinate.first;
                    //teamTerritoryCoordinates.Add(coordinate);
                    coordinate    = new Tuple();
                    number        = "";
                    lastWasNumber = false;
                }
                bracketCount--;
            }

            if (m == doubleQuote && lastWasLetter)
            {
                td.name = teamName;
                tData.Add(td);
                td            = new TerritoriesData();
                lastWasLetter = false;
                teamName      = "";
            }

            if (m == ',')
            {
                if (lastWasNumber)
                {
                    coordinate.first = Int32.Parse(number);
                    number           = "";
                    lastWasNumber    = false;
                }
            }
            if (Char.IsNumber(m) && !lastWasLetter)
            {
                number       += m;
                lastWasNumber = true;
            }
            if (Char.IsLetter(m))
            {
                teamName     += m;
                lastWasLetter = true;
            }

            //Debug.Log(m.ToString());
        }
        //UpdateSync();


        //teamTerritoryCoordinates.Clear();
        //teamNames.Clear();
        //Debug.Log(data);
    }