示例#1
0
        public IGameDataEntry GetEntryAtPath(string path)
        {
            // resolve the path, portion by portion
            var parts = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
            IGameDataDirectoryEntry entry = m_root;

            foreach (var part in parts)
            {
                if (part[0] == '.')
                {
                    continue;
                }

                var thisEntry = entry.GetEntry(part);

                if (thisEntry is IGameDataFileEntry file)
                {
                    return(file);
                }


                entry = (thisEntry as IGameDataDirectoryEntry);
            }

            return(entry);
        }
示例#2
0
 public AliasedDirectoryEntry(string alias, IGameDataDirectoryEntry entry) : base(alias, entry)
 {
 }
示例#3
0
 public void Add(IGameDataDirectoryEntry entry)
 {
     m_directories = m_directories.Append(entry);
 }
 public static IGameDataDirectoryEntry GetDirectoryEntry(this IGameDataDirectoryEntry entry, string name) =>
 (entry.GetEntry(name) as IGameDataDirectoryEntry);