Ejemplo n.º 1
0
        /// <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();
        }
Ejemplo n.º 2
0
 /// <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);
 }