Add asset-manager
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
(:import [com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
|
(:import [com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
|
||||||
InputMultiplexer InputProcessor Net Screen]
|
InputMultiplexer InputProcessor Net Screen]
|
||||||
[com.badlogic.gdx.audio Sound]
|
[com.badlogic.gdx.audio Sound]
|
||||||
|
[com.badlogic.gdx.assets AssetManager]
|
||||||
[com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera
|
[com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera
|
||||||
PerspectiveCamera VertexAttributes$Usage]
|
PerspectiveCamera VertexAttributes$Usage]
|
||||||
[com.badlogic.gdx.graphics.g2d NinePatch ParticleEffect SpriteBatch
|
[com.badlogic.gdx.graphics.g2d NinePatch ParticleEffect SpriteBatch
|
||||||
|
|||||||
@@ -170,18 +170,36 @@
|
|||||||
(loader :skin \"uiskin.json\")
|
(loader :skin \"uiskin.json\")
|
||||||
(loader :sound \"hit.ogg\")
|
(loader :sound \"hit.ogg\")
|
||||||
(loader :texture \"monster.png\")"
|
(loader :texture \"monster.png\")"
|
||||||
[type path & options]
|
[type resolver & options]
|
||||||
`(let [object# (~(loader-init type) (if (string? ~path)
|
`(let [object# (~(loader-init type) ~resolver)]
|
||||||
(files! :internal ~path)
|
|
||||||
~path))]
|
|
||||||
(u/calls! object# ~@options)))
|
(u/calls! object# ~@options)))
|
||||||
|
|
||||||
(defmacro loader!
|
(defmacro loader!
|
||||||
"Calls a static method in a subclass of [AsynchronousAssetLoader](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/AsynchronousAssetLoader.html)
|
"Calls a single method in a subclass of [AsynchronousAssetLoader](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/AsynchronousAssetLoader.html)
|
||||||
|
|
||||||
(attribute! :color :create-diffuse (color :blue))"
|
(loader! object :load \"map.tmx\")"
|
||||||
[type k & options]
|
[object & options]
|
||||||
`(~(u/gdx-field :graphics :g3d :attributes
|
`(u/call! ~object ~@options))
|
||||||
(str (u/key->pascal type) "Attribute")
|
|
||||||
(u/key->camel k))
|
(defn asset-manager*
|
||||||
~@options))
|
"The function version of `asset-manager`"
|
||||||
|
([]
|
||||||
|
(AssetManager.))
|
||||||
|
([resolver]
|
||||||
|
(AssetManager. resolver)))
|
||||||
|
|
||||||
|
(defmacro asset-manager
|
||||||
|
"Returns an [AssetManager](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/AssetManager.html)
|
||||||
|
|
||||||
|
(asset-manager)"
|
||||||
|
[& options]
|
||||||
|
`(let [^AssetManager object# (asset-manager*)]
|
||||||
|
(u/calls! object# ~@options)))
|
||||||
|
|
||||||
|
(defmacro asset-manager!
|
||||||
|
"Calls a single method in an `asset-manager`
|
||||||
|
|
||||||
|
(asset-manager! object :clear)"
|
||||||
|
[object k & options]
|
||||||
|
`(let [^AssetManager object# ~object]
|
||||||
|
(u/call! object# ~k ~@options)))
|
||||||
|
|||||||
Reference in New Issue
Block a user