Beispiel #1
0
        public override pStateChangeType pGetStateChange()
        {
            string unitID = "Unknown object";
            pStateChangeType returnValue;
            try
            {
                reader.Read();
                pEngramRange engramRange = null;
                if ("EngramRange" == reader.Name)
                {
                    engramRange = pGetEngramRange();
                }

                unitID = pGetString();
                int timer = pGetInt();
                string newState = pGetString();
                returnValue = new pStateChangeType(unitID, engramRange, timer, newState);
                if ("From" == reader.Name)
                {
                    while ("From" == reader.Name)
                    {
                        returnValue.AddPrecursor(pGetString());
                    }
                }
                else while ("Except" == reader.Name)
                    {
                        returnValue.AddException(pGetString());
                    }
                reader.ReadEndElement();
            }
            catch (System.Exception e)
            {
                throw new ApplicationException("Error reading StateChange for " +
                    unitID + ": ", e);
            }

            return returnValue;
        }