public bool TryGetDirectory(uint key, out Directory directory) { if (_Directories.TryGetValue(key, out directory)) return true; IndexDirectory index; if (Index.Directories.TryGetValue(key, out index)) { directory = new Directory(this.Pack, index); _Directories.Add(key, directory); return true; } directory = null; return false; }
public Directory GetDirectory(uint key) { Directory directory; if (_Directories.TryGetValue(key, out directory)) return directory; var index = Index.Directories[key]; directory = new Directory(this.Pack, index); _Directories.Add(key, directory); return directory; }
public bool TryGetDirectory(string path, out Directory directory) { uint hash;/* if (!_DirectoryPathMap.TryGetValue(path, out hash)) _DirectoryPathMap.Add(path, hash = Hash.Compute(path));*/ hash = Hash.Compute(path); var result = TryGetDirectory(hash, out directory); if (result) directory.Path = path; return result; }