private static void GetRiseSectionData(RiseSectionData riseSectionData, XDocument document)
        {
            XElement riseSectionElement = document.Element("risesection");
            double   height             = riseSectionElement.GetDouble("height");
            int      difficulty         = riseSectionElement.GetInt("difficulty");

            XElement platformsElement = riseSectionElement.Element("platforms");
            IEnumerable <XElement> platformElements = platformsElement.Elements("platform");
            List <PlatformData>    platforms        = new List <PlatformData>();

            foreach (XElement platformElement in platformElements)
            {
                PlatformData platform = GetPlatformData(platformElement);
                platforms.Add(platform);
            }

            XElement enemiesElement = riseSectionElement.Element("enemies");
            string   enemiesXml     = enemiesElement != null?enemiesElement.ToString() : "";

            XElement itemsElement = riseSectionElement.Element("items");
            string   itemsXml     = itemsElement != null?itemsElement.ToString() : "";

            riseSectionData.Height     = height;
            riseSectionData.Difficulty = difficulty;
            riseSectionData.Platforms  = platforms;
            riseSectionData.EnemiesXml = enemiesXml;
            riseSectionData.ItemsXml   = itemsXml;
        }
        public LevelXmlViewModel(RiseSectionData riseSectionData)
        {
            mRiseSectionData              = riseSectionData;
            mRiseSectionData.DataChanged += RiseSectionDataDataChanged;

            UpdateFromModel();
        }
        private static XDocument GetRiseSectionDataXml(RiseSectionData riseSectionData)
        {
            XDocument document = new XDocument(
                new XDeclaration("1.0", "utf-8", "yes"));

            XElement riseSectionElement = new XElement(
                "risesection",
                new XAttribute("height", riseSectionData.Height),
                new XAttribute("difficulty", riseSectionData.Difficulty));

            XElement platformsElement = new XElement("platforms");

            foreach (PlatformData platformData in riseSectionData.Platforms)
            {
                XElement platformElement = GetPlatformDataXml(platformData);
                platformsElement.Add(platformElement);
            }
            riseSectionElement.Add(platformsElement);

            if (!string.IsNullOrEmpty(riseSectionData.EnemiesXml))
            {
                XElement enemiesElement = XElement.Parse(riseSectionData.EnemiesXml);
                riseSectionElement.Add(enemiesElement);
            }

            if (!string.IsNullOrEmpty(riseSectionData.ItemsXml))
            {
                XElement itemsElement = XElement.Parse(riseSectionData.ItemsXml);
                riseSectionElement.Add(itemsElement);
            }

            document.Add(riseSectionElement);

            return(document);
        }
Esempio n. 4
0
        public RiseSectionPropertiesViewModel(RiseSectionData riseSectionData)
        {
            mRiseSectionData              = riseSectionData;
            mRiseSectionData.DataChanged += RiseSectionDataDataChanged;

            UpdateFromModel();
        }
        public LevelViewModel(RiseSectionData riseSectionData, EditorManager editorManager)
        {
            mRiseSectionData              = riseSectionData;
            mRiseSectionData.DataChanged += RiseSectionDataDataChanged;

            mEditorManager = editorManager;
            mEditorManager.PropertyChanged += EditorManagerPropertyChanged;

            UpdateFromModel();
        }
Esempio n. 6
0
        public MainViewModel()
        {
            RiseSectionData riseSectionData = new RiseSectionData();

            EditorManager editorManager = new EditorManager();

            LevelViewModel    = new LevelViewModel(riseSectionData, editorManager);
            ToolbarViewModel  = new ToolbarViewModel(riseSectionData, editorManager);
            LevelXmlViewModel = new LevelXmlViewModel(riseSectionData);
        }
        public ToolbarViewModel(RiseSectionData riseSectionData, EditorManager editorManager)
        {
            mEditorManager = editorManager;
            mEditorManager.PropertyChanged += EditorManagerPropertyChanged;

            CreatePropertiesViewModels(riseSectionData);

            EditorViewModel     = new EditorViewModel(riseSectionData, editorManager);
            PropertiesViewModel = new NoSelectionPropertiesViewModel();
        }
 public static void Read(RiseSectionData riseSectionData, string xml)
 {
     XDocument document = null;
     try
     {
         document = XDocument.Parse(xml);
         GetRiseSectionData(riseSectionData, document);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
        public static void Read(RiseSectionData riseSectionData, string xml)
        {
            XDocument document = null;

            try
            {
                document = XDocument.Parse(xml);
                GetRiseSectionData(riseSectionData, document);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
        private static XDocument GetRiseSectionDataXml(RiseSectionData riseSectionData)
        {
            XDocument document = new XDocument(
                new XDeclaration("1.0", "utf-8", "yes"));

            XElement riseSectionElement = new XElement(
                "risesection",
                new XAttribute("height", riseSectionData.Height),
                new XAttribute("difficulty", riseSectionData.Difficulty));

            XElement platformsElement = new XElement("platforms");
            foreach (PlatformData platformData in riseSectionData.Platforms)
            {
                XElement platformElement = GetPlatformDataXml(platformData);
                platformsElement.Add(platformElement);
            }
            riseSectionElement.Add(platformsElement);

            if (!string.IsNullOrEmpty(riseSectionData.EnemiesXml))
            {
                XElement enemiesElement = XElement.Parse(riseSectionData.EnemiesXml);
                riseSectionElement.Add(enemiesElement);
            }

            if (!string.IsNullOrEmpty(riseSectionData.ItemsXml))
            {
                XElement itemsElement = XElement.Parse(riseSectionData.ItemsXml);
                riseSectionElement.Add(itemsElement);
            }

            document.Add(riseSectionElement);

            return document;
        }
Esempio n. 11
0
 public PlatformEditorViewModel(RiseSectionData riseSectionData, EditorManager editorManager)
 {
     PlatformMovementEditorViewModel = new PlatformMovementEditorViewModel(riseSectionData, editorManager);
     PlatformFeaturesEditorViewModel = new PlatformFeaturesEditorViewModel(riseSectionData, editorManager);
 }
        public static string Write(RiseSectionData riseSectionData)
        {
            XDocument document = GetRiseSectionDataXml(riseSectionData);

            return(document.ToString());
        }
 private void CreatePropertiesViewModels(RiseSectionData riseSectionData)
 {
     mPropertiesViewModels = new Dictionary <Type, PropertyChangedBase>();
     mPropertiesViewModels.Add(typeof(NoSelectionPropertiesViewModel), new NoSelectionPropertiesViewModel());
     mPropertiesViewModels.Add(typeof(PlatformEditorViewModel), new PlatformEditorViewModel(riseSectionData, mEditorManager));
 }
        private static void GetRiseSectionData(RiseSectionData riseSectionData, XDocument document)
        {
            XElement riseSectionElement = document.Element("risesection");
            double height = riseSectionElement.GetDouble("height");
            int difficulty = riseSectionElement.GetInt("difficulty");

            XElement platformsElement = riseSectionElement.Element("platforms");
            IEnumerable<XElement> platformElements = platformsElement.Elements("platform");
            List<PlatformData> platforms = new List<PlatformData>();
            foreach (XElement platformElement in platformElements)
            {
                PlatformData platform = GetPlatformData(platformElement);
                platforms.Add(platform);
            }

            XElement enemiesElement = riseSectionElement.Element("enemies");
            string enemiesXml = enemiesElement != null ? enemiesElement.ToString() : "";

            XElement itemsElement = riseSectionElement.Element("items");
            string itemsXml = itemsElement != null ? itemsElement.ToString() : "";

            riseSectionData.Height = height;
            riseSectionData.Difficulty = difficulty;
            riseSectionData.Platforms = platforms;
            riseSectionData.EnemiesXml = enemiesXml;
            riseSectionData.ItemsXml = itemsXml;
        }
 public static string Write(RiseSectionData riseSectionData)
 {
     XDocument document = GetRiseSectionDataXml(riseSectionData);
     return document.ToString();
 }
Esempio n. 16
0
 public PlatformFeaturesEditorViewModel(RiseSectionData riseSectionData, EditorManager editorManager)
 {
 }
 public EditorViewModel(RiseSectionData riseSectionData, EditorManager editorManager)
 {
     RiseSectionPropertiesViewModel = new RiseSectionPropertiesViewModel(riseSectionData);
     EditorModeViewModel            = new EditorModeViewModel(editorManager);
 }
Esempio n. 18
0
 public PlatformMovementEditorViewModel(RiseSectionData riseSectionData, EditorManager editorManager)
 {
     MovementTypes = Enum.GetValues(typeof(PlatformMovementType)).Cast <PlatformMovementType>();
 }