Adjust loader macro to pass options to constructor

This commit is contained in:
oakes
2014-04-11 18:55:48 -04:00
parent 8570399128
commit 4f94b5a495
3 changed files with 17 additions and 27 deletions

View File

@@ -6,6 +6,7 @@
InputMultiplexer InputProcessor Net Screen]
[com.badlogic.gdx.audio Sound]
[com.badlogic.gdx.assets AssetManager]
[com.badlogic.gdx.assets.loaders AsynchronousAssetLoader]
[com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera
PerspectiveCamera Pixmap Pixmap$Format PixmapIO Texture VertexAttributes$Usage]
[com.badlogic.gdx.graphics.g2d SpriteBatch]

View File

@@ -125,28 +125,17 @@ found."
(u/gdx :assets :loaders (str (u/key->pascal k) "Loader."))))
(defmacro loader
"Returns a subclass of [AsynchronousAssetLoader](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/AsynchronousAssetLoader.html).
(loader :atlas-tmx-map \"map.atlas\")
(loader :tmx-map \"map.tmx\")
(loader :obj \"model.obj\")
(loader :g3d-model \"cube.g3dj\")
(loader :bitmap-font \"arial.fnt\")
(loader :music \"song.ogg\")
(loader :pixmap \"background.png\")
(loader :skin \"uiskin.json\")
(loader :sound \"hit.ogg\")
(loader :texture \"monster.png\")"
[type resolver & options]
`(let [object# (~(loader-init type) ~resolver)]
(u/calls! object# ~@options)))
"Returns a subclass of [AsynchronousAssetLoader](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/AsynchronousAssetLoader.html)."
[type & options]
`(~(loader-init type) ~@options))
(defmacro loader!
"Calls a single method in a subclass of [AsynchronousAssetLoader](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/AsynchronousAssetLoader.html).
(loader! object :load \"map.tmx\")"
[object & options]
`(u/call! ~object ~@options))
`(let [^AsynchronousAssetLoader object# ~object]
(u/call! object# ~@options)))
(defn asset-manager*
([]