Ejemplo n.º 1
0
        public VrFile GetFile(string path)
        {
            bool error = false;

            path = CEngine.Instance.FileManager.NormalizePath(path, out error);
            if (error)
            {
                return(null);
            }

            var segs = path.Split('/');

            VrDirectory dir = this;

            for (int i = 0; i < segs.Length; i++)
            {
                if (i == segs.Length - 1)
                {
                    return(dir.FindFile(segs[i]));
                }
                dir = dir.FindDirectory(segs[i]);
                if (dir == null)
                {
                    break;
                }
            }
            return(null);
        }
Ejemplo n.º 2
0
        public static VrDirectory LoadVrDirectory(string file, bool ignoreAssetsNode)
        {
            var xml  = EngineNS.IO.XmlHolder.LoadXML(file);
            var node = xml.RootNode;

            if (ignoreAssetsNode)
            {
                node = node.FindNode("Folder");
                var attr = node.FindAttrib("Name");
                if (attr != null)
                {
                    if (attr.Value != "Assets")
                    {
                        return(null);
                    }
                }
            }
            VrDirectory result = new VrDirectory();

            LoadVrDirFromNode(result, node);
            return(result);
        }
Ejemplo n.º 3
0
        private static void LoadVrDirFromNode(VrDirectory dir, EngineNS.IO.XmlNode node)
        {
            var fileNode = node.FindNode("Files");

            if (fileNode != null)
            {
                var files = fileNode.GetNodes();
                foreach (var i in files)
                {
                    var attr = i.FindAttrib("Name");
                    if (attr != null)
                    {
                        VrFile curFile = new VrFile();
                        curFile.Parent = dir;
                        curFile.Name   = attr.Value;
                        dir.Files.Add(curFile.Name, curFile);
                    }
                }
            }

            var folders = node.GetNodes();

            foreach (var i in folders)
            {
                if (i.Name == "Folder")
                {
                    var attr = i.FindAttrib("Name");
                    if (attr != null)
                    {
                        VrDirectory subDir = new VrDirectory();
                        subDir.Parent = dir;
                        subDir.Name   = attr.Value;
                        dir.Folders.Add(subDir.Name, subDir);
                        LoadVrDirFromNode(subDir, i);
                    }
                }
            }
        }