public void Save(UPath savePath) { // 1. Create file system for archive var archiveFileSystem = FileSystemFactory.CreateAfiFileSystem(ArchiveState, UPath.Root, _archiveStateInfo.StreamManager); // 2. Save PVB and PBIs var distinctPointMappings = _pointMappings.SelectMany(x => x).Batch(6).Select(x => x.OrderBy(y => y.v).ThenBy(y => y.u)).SelectMany(x => x).Distinct().ToArray(); SavePvb(archiveFileSystem, distinctPointMappings); SavePbis(archiveFileSystem, _pointMappings, distinctPointMappings); // 3. Save images foreach (var stateInfo in _imageStateInfos) { _pluginManager.SaveFile(stateInfo); } // 3. Save original archive _pluginManager.SaveFile(_archiveStateInfo, savePath); }
public Task <SaveResult> SaveFile(IStateInfo stateInfo) { return(_parentPluginManager.SaveFile(stateInfo)); }