예제 #1
0
        public Preferences(string sData)
        {
            XmlDocument cXmlDocument = new XmlDocument();

            cXmlDocument.LoadXml(sData);
            XmlNode cXmlNode = cXmlDocument.NodeGet("data");

            sRequest        = cXmlNode.AttributeValueGet("request");
            nTemplate       = cXmlNode.AttributeGet <byte>("template");
            sValue          = cXmlNode.AttributeValueGet("value", false);
            _nCheckInterval = cXmlNode.AttributeGet <int>("interval");
            _nLoops         = null == cXmlNode.AttributeValueGet("loop", false) ? (ushort)0 : cXmlNode.AttributeGet <ushort>("loop");

            XmlNode cNodeChild = cXmlNode.NodeGet("roll");

            _eDirection    = cNodeChild.AttributeGet <btl.Roll.Direction>("direction");
            _nSpeed        = cNodeChild.AttributeGet <float>("speed");
            _stRollMerging = new MergingMethod(cNodeChild);
            _nLayer        = cNodeChild.AttributeGet <ushort>("layer");
            _nQueueLength  = cNodeChild.AttributeGet <byte>("queue");
            _nPause        = cNodeChild.AttributeOrDefaultGet <int>("pause", 0);
            _nDelay        = cNodeChild.AttributeOrDefaultGet <int>("delay", 0);
            cNodeChild     = cNodeChild.NodeGet("area");
            _stArea        = new Area(
                cNodeChild.AttributeGet <short>("left"),
                cNodeChild.AttributeGet <short>("top"),
                cNodeChild.AttributeGet <ushort>("width"),
                cNodeChild.AttributeGet <ushort>("height")
                );
            _aItems = cXmlNode.NodesGet("item").Select(o => Item.Parse(o)).ToList();

            if (null != (cNodeChild = cXmlNode.NodeGet("background", false)))
            {
                _cBackground = new Background(cNodeChild);
            }
        }
예제 #2
0
        public Preferences(string sData)
        {
            XmlDocument cXmlDocument = new XmlDocument();
            cXmlDocument.LoadXml(sData);
            XmlNode cXmlNode = cXmlDocument.NodeGet("data");
            sRequest = cXmlNode.AttributeValueGet("request");
            nTemplate = cXmlNode.AttributeGet<byte>("template");
            sValue = cXmlNode.AttributeValueGet("value", false);
            _nCheckInterval = cXmlNode.AttributeGet<int>("interval");

            XmlNode cNodeChild = cXmlNode.NodeGet("roll");
            _eDirection = cNodeChild.AttributeGet<btl.Roll.Direction>("direction");
            _nSpeed = cNodeChild.AttributeGet<float>("speed");
            _bRollCuda = cNodeChild.AttributeGet<bool>("cuda");
            _nLayer = cNodeChild.AttributeGet<ushort>("layer");
            _nQueueLength = cNodeChild.AttributeGet<byte>("queue");
			if (int.MaxValue == (_nPause = cNodeChild.AttributeGet<int>("pause", false)))
				_nPause = 0;
            cNodeChild = cNodeChild.NodeGet("area");
            _stArea = new Area(
                    cNodeChild.AttributeGet<short>("left"),
                    cNodeChild.AttributeGet<short>("top"),
                    cNodeChild.AttributeGet<ushort>("width"),
                    cNodeChild.AttributeGet<ushort>("height")
                );
            _aItems = cXmlNode.NodesGet("item").Select(o => Item.Parse(o)).ToList();
        }