public static object Load(string filePath, AssetLoader loader) { // object alreadyLoaded = null; // if (loadedAssets.TryGetValue(filePath, out alreadyLoaded)) // { // return alreadyLoaded; // } if (!System.IO.File.Exists(filePath)) throw new System.IO.FileNotFoundException("The file \"" + filePath + "\" does not exist!"); loader.ResetLoader(); Stream stream = new FileStream(filePath, FileMode.Open); LoadedAsset asset = new LoadedAsset(stream, filePath); object loaded = loader.Load(asset); stream.Close(); // loadedAssets.Add(filePath, loaded); return loaded; }
public static void RegisterLoader(string ext, AssetLoader loader) { if (!loaders.ContainsKey(ext)) { loaders.Add(ext, loader); } else { loaders[ext] = loader; // replace } }