/// <summary>Performs the actual cache loading logic</summary> /// <param name="cv"></param> static CacheOpenDoWorkResults CacheOpenDoWorkLoad(CacheView cv) { var results = new CacheOpenDoWorkResults(); var engine = cv.m_engine; BlamLib.Blam.CacheFile cache = null; var gd = BlamLib.Program.GetManager(engine); var cid = BlamLib.Blam.DatumIndex.Null; try { cid = gd.OpenCacheFile(engine, cv.OpenFileDlg.FileName); cache = gd.GetCacheFile(cid); cache.Read(); } catch (Exception ex) { results.OpenException = ex; if (!cid.IsNull && cache != null) { gd.CloseCacheFile(cache.CacheId); } cache = null; } cv.m_cache = cache; if (cache != null) { results.TagTreeNodes = CacheOpenDoWorkGenerateTagTreeNodes(cv, cache); } return(results); }
/// <summary>Performs the actual cache loading logic</summary> /// <param name="cv"></param> static CacheOpenDoWorkResults CacheOpenDoWorkLoad(CacheView cv) { var results = new CacheOpenDoWorkResults(); var engine = cv.m_engine; BlamLib.Blam.CacheFile cache = null; var gd = BlamLib.Program.GetManager(engine); var cid = BlamLib.Blam.DatumIndex.Null; try { cid = gd.OpenCacheFile(engine, cv.OpenFileDlg.FileName); cache = gd.GetCacheFile(cid); cache.Read(); } catch (Exception ex) { results.OpenException = ex; if (!cid.IsNull && cache != null) gd.CloseCacheFile(cache.CacheId); cache = null; } cv.m_cache = cache; if (cache != null) results.TagTreeNodes = CacheOpenDoWorkGenerateTagTreeNodes(cv, cache); return results; }