Esempio n. 1
0
        public virtual void Load(XmlReader xmlReader)
        {
            while (xmlReader.Name != "PatternID")
            {
                xmlReader.Read();
                if (xmlReader.EOF == true)
                {
                    return;
                }
            }

            xmlReader.Read();
            nPatternID = int.Parse(xmlReader.Value);

            bool bBreak = false;

            for ( ;;)
            {
                xmlReader.Read();
                switch (xmlReader.NodeType)
                {
                case XmlNodeType.Element:
                {
                    switch (xmlReader.Name)
                    {
                    case "BasicGamePiece":
                    {
                        BasicGamePiece temp = new BasicGamePiece();
                        temp.Load(xmlReader);
                        arrayGamePieces.Add(temp);
                        break;
                    }

                    case "NumberOfTimesSeen": bBreak = true; break;
                    }
                } break;
                }

                if (bBreak == true)
                {
                    break;
                }
            }

            /// should be on Number of times seen but doesn't hurt to check
            if (xmlReader.Name != "NumberOfTimesSeen")
            {
                return;
            }

            xmlReader.Read();
            nNumberOfTimesSeen = int.Parse(xmlReader.Value);

            while (xmlReader.Name != "NumberOfTimesSeenInWinningGame")
            {
                xmlReader.Read();
                if (xmlReader.EOF == true)
                {
                    return;
                }
            }

            xmlReader.Read();
            nNumberOfTimesSeenInWinningGame = int.Parse(xmlReader.Value);

            while (xmlReader.Name != "NumberOfTimesSeenInLosingGame")
            {
                xmlReader.Read();
                if (xmlReader.EOF == true)
                {
                    return;
                }
            }

            xmlReader.Read();
            nNumberOfTimesSeenInLosingGame = int.Parse(xmlReader.Value);

            while (xmlReader.Name != "EndingPattern")
            {
                xmlReader.Read();
                if (xmlReader.EOF == true)
                {
                    return;
                }
            }

            xmlReader.Read();
            if (xmlReader.Value == "True")
            {
                bIsEndingPattern = true;
            }
            else
            {
                bIsEndingPattern = false;
            }

            while (xmlReader.Name != "Weighting")
            {
                xmlReader.Read();
                if (xmlReader.EOF == true)
                {
                    return;
                }
            }

            xmlReader.Read();
            nWeighting = int.Parse(xmlReader.Value);

            while (xmlReader.Name != "Response")
            {
                xmlReader.Read();
                if (xmlReader.EOF == true)
                {
                    return;
                }
            }

            while (xmlReader.Name != "ResponsePresent")
            {
                xmlReader.Read();
                if (xmlReader.EOF == true)
                {
                    return;
                }
            }

            xmlReader.Read();
            int nResponse = int.Parse(xmlReader.Value);

            if (nResponse != 0)
            {
                bResponsePresent = true;
                bgpResponse      = new BasicGamePiece();
                bgpResponse.Load(xmlReader);
            }
        }