/// <summary> /// Creates the file drawing /// </summary> /// <param name="uri"></param> /// <returns></returns> protected Cached <T> Create(Uri uri) { // Get the stream. if (Library.FileExists(uri)) { using (var stream = Library.OpenRead(uri)) { foreach (var loader in m_loaders) { if (loader.TryLoad(stream, out var value)) { var cached = new Cached <T>(uri, value); m_objects.Add(uri, cached); return(cached); } } } } throw new FileNotFoundException(); }
/// <summary> /// Releases a reference to a cached object. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="cached"></param> public void Unload <T>(Cached <T> cached) { GetTypeCache <T>().Unload(cached); }