Example #1
0
        protected override void Save()
        {
            XMLAbstraction xml = new XMLAbstraction("Material");

            xml.AddNode("Shader", shader.ID.ToString());
            var uniformsNode = xml.AddNode("Uniforms");

            foreach (Shader.Uniform u in Uniforms)
            {
                if (u.value != null)
                {
                    var uniformNode = uniformsNode.AddNode("Uniform");
                    uniformNode.AddAttribute("name", u.name);
                    uniformNode.AddAttribute("type", u.type.FullName);
                    if (u.type.IsSubclassOf(typeof(Asset)))
                    {
                        TypeSerialization.SerializePrimitiveType((u.value as Asset).ID, uniformNode.node, xml.xml);
                    }
                    else
                    {
                        TypeSerialization.SerializeType(u.value, uniformNode.node, xml.xml);
                    }
                }
            }
            xml.Save(Path);
        }
        public static void WriteDatabase()
        {
            XMLAbstraction data = new XMLAbstraction("AssetDatabase");
            //IDs
            var idsNode = data.AddNode("IDs");

            idsNode.AddNode("CurrentID", currentID.ToString());
            var deletedIDsNode = idsNode.AddNode("DeletedIDs");

            foreach (int i in deletedIDs)
            {
                deletedIDsNode.AddNode("ID", i.ToString());
            }
            //Assets
            var assetsNode = data.AddNode("Assets");

            foreach (var a in atomicAssetsInProject)
            {
                var assetNode = assetsNode.AddNode("Asset");
                assetNode.AddAttribute("path", a.Item1);
                assetNode.AddAttribute("type", a.Item2);
                assetNode.AddAttribute("id", a.Item3);
            }
            foreach (var a in composedAssetsInProject)
            {
                var assetNode = assetsNode.AddNode("Asset");
                assetNode.AddAttribute("path", a.Item1);
                assetNode.AddAttribute("type", a.Item2);
                assetNode.AddAttribute("id", a.Item3);
            }
            data.Save("AssetDatabase.xml");
        }
        public static void WriteDatabase()
        {
            XMLAbstraction data           = new XMLAbstraction("UserCodeDatabase");
            var            assembliesNode = data.AddNode("Assemblies");

            foreach (string s in assemblyPaths)
            {
                assembliesNode.AddNode("Assembly", s);
            }
            data.Save("UserCodeDatabase.xml");
        }
Example #4
0
        public void SaveScene(string path)
        {
            XMLAbstraction xml = new XMLAbstraction("Scene");

            //IDs
            var iDsNode = xml.AddNode("IDs");

            iDsNode.AddNode("CurrentID", currentID.ToString());
            var deletedIDsNode = iDsNode.AddNode("DeletedIDs");

            foreach (int i in deletedIDs)
            {
                deletedIDsNode.AddNode("ID", i.ToString());
            }

            //Hierarchy
            var hierarchyNode = xml.AddNode("Hierarchy");

            foreach (var e in hierarchy.root)
            {
                SaveEntity(e, hierarchyNode);
            }
            xml.Save(Path);
        }