Pass custom resolver to all loaders in asset-manager

This commit is contained in:
oakes
2014-05-15 00:14:27 -04:00
parent 617bc85148
commit 63ed203edd

View File

@@ -188,21 +188,23 @@ found."
`(proxy [~(resolver-class type)] [] ~@options)) `(proxy [~(resolver-class type)] [] ~@options))
(defn ^:private set-loaders! (defn ^:private set-loaders!
[^AssetManager am] ([am]
(->> (loader :tmx-map (resolver :internal-file-handle)) (set-loaders! am (resolver :internal-file-handle)))
(.setLoader am TiledMap)) ([^AssetManager am res]
(->> (loader :particle-effect (->> (loader :tmx-map res)
(resolver :internal-file-handle) (.setLoader am TiledMap))
(load [am file-name fh param] (->> (loader :particle-effect
(doto (ParticleEffect.) res
(.load fh (.parent fh))))) (load [am file-name fh param]
(.setLoader am ParticleEffect))) (doto (ParticleEffect.)
(.load fh (.parent fh)))))
(.setLoader am ParticleEffect))))
(defn asset-manager* (defn asset-manager*
([] ([]
(doto (AssetManager.) set-loaders!)) (doto (AssetManager.) set-loaders!))
([resolver] ([resolver]
(doto (AssetManager. resolver) set-loaders!))) (doto (AssetManager. resolver) (set-loaders! resolver))))
(defmacro asset-manager (defmacro asset-manager
"Returns an [AssetManager](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/AssetManager.html). "Returns an [AssetManager](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/AssetManager.html).