示例#1
0
        internal void Write(MovementEffectPartInfo info, XmlWriter writer)
        {
            writer.WriteStartElement("Movement");

            writer.WriteElementString("Floating", info.Floating.ToString());

            writer.WriteElementString("FlipSprite", info.FlipSprite.ToString());

            if (info.X != null)
            {
                WriteVelocity("X", info.X, writer);
            }

            if (info.Y != null)
            {
                WriteVelocity("Y", info.Y, writer);
            }

            if (info.Both != null)
            {
                WriteVelocity("Velocity", info.Both, writer);
            }

            writer.WriteEndElement();
        }
        public IEffectPartInfo Load(XElement partNode)
        {
            var info = new MovementEffectPartInfo();

            info.Floating   = partNode.TryElementValue <bool?>("Floating");
            info.FlipSprite = partNode.TryElementValue <bool?>("FlipSprite");

            info.X    = LoadVelocity(partNode.Element("X"));
            info.Y    = LoadVelocity(partNode.Element("Y"));
            info.Both = LoadVelocity(partNode.Element("Velocity"));

            return(info);
        }