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
     }
 }