コード例 #1
0
        public XElement GetXElement()
        {
            var element = new XElement("Level", new XAttribute("ID", ID), new XAttribute("Size", Size));

            element.SetAttributeValueWithDefault("Name", Name, string.Empty);
            element.SetAttributeValueWithDefault("TimeThresholds",
                                                 FormattableString.Invariant($"{SPlusTime},{STime},{ATime},{BTime},{CTime}"), "1,2,3,4,5");
            element.SetAttributeValue("SpawnPoint", SpawnPoint);
            element.SetAttributeValue("ExitPoint", ExitPoint);
            element.SetAttributeValueWithDefault("Theme", Theme);
            element.SetAttributeValueWithDefault("MusicJava", MusicJava);
            element.SetAttributeValueWithDefault("Music", Music, 6);
            if (Zoom < 0)
            {
                element.SetAttributeValueWithDefault(ValueIsAngle ? "Angle" : "FieldOfView", Value);
            }
            else
            {
                element.SetAttributeValueWithDefault("Zoom", Zoom, (short)-1);
            }
            foreach (var e in MovingPlatforms.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in Bumpers.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in FallingPlatforms.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in Checkpoints.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in CameraTriggers.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in Prisms.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in Fans.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in Buttons.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in OtherCubes.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in Resizers.GetXElements())
            {
                element.Add(e);
            }
            foreach (var e in MiniBlocks.GetXElements())
            {
                element.Add(e);
            }
            return(element);
        }