public bool BackToParentFolder() { if (NowFolder.Index == 0xFFFFFFFF) { return(false); } RhoPackedFolderInfo nowFolder = this.FolderStack.Pop(); this.NowFolderContent = RhoPackedFilesInfoDecoder.GetRhoPackedFileInfos(GetStreamData(nowFolder.ParentIndex), this.HeaderKey, nowFolder.ParentIndex); this.PathStack.Pop(); return(true); }
public bool EnterToFolder(string FolderName) { RhoPackedFolderInfo FolderInfo = (RhoPackedFolderInfo)Array.Find(NowFolderContent, x => x.Type == ObjectType.Folder && ((RhoPackedFolderInfo)x).FolderName == FolderName); if (FolderName is null) { return(false); } this.ParentFolder = this.NowFolder; this.NowFolderContent = RhoPackedFilesInfoDecoder.GetRhoPackedFileInfos(GetStreamData(FolderInfo.Index), this.HeaderKey, this.NowFolder.Index); this.FolderStack.Push(FolderInfo); this.PathStack.Push(FolderInfo.FolderName); return(true); }