Move more things to core-utils for better organization

This commit is contained in:
oakes
2014-02-22 19:07:23 -05:00
parent a806010b17
commit b196cbe5f0
3 changed files with 69 additions and 67 deletions

View File

@@ -145,63 +145,3 @@
[object k & options]
`(let [^Sound object# ~object]
(u/call! object# ~k ~@options)))
; assets
(defn ^:private loader-init
"Internal use only"
[k]
(cond
(contains? #{:atlas-tmx-map :tmx-map} k)
(u/gdx :maps :tiled (str (u/key->pascal k) "Loader."))
(contains? #{:g3d-model :obj} k)
(u/gdx :graphics :g3d :loader (str (u/key->pascal k) "Loader."))
:else
(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)))
(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))
(defn asset-manager*
"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)))

View File

@@ -543,10 +543,3 @@ remains in tact
(let [^Camera camera (u/get-obj screen :camera)]
(set! (. camera far) n)
(.update camera)))
; misc
(defmacro usage
"Returns a static field in [VertexAttributes.Usage](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/VertexAttributes.Usage.html)"
[k]
`~(u/gdx-field :graphics "VertexAttributes$Usage" (u/key->pascal k)))

View File

@@ -1,5 +1,7 @@
(in-ns 'play-clj.core)
; static fields
(defmacro scaling
"Returns a static field from [Scaling](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/Scaling.html)
@@ -14,6 +16,13 @@
[k]
`~(u/gdx-field :utils :Scaling k))
(defmacro usage
"Returns a static field in [VertexAttributes.Usage](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/VertexAttributes.Usage.html)"
[k]
`~(u/gdx-field :graphics "VertexAttributes$Usage" (u/key->pascal k)))
; timers
(defn ^:private task*
"Internal use only."
[{:keys [execute-fn! on-timer]} id]
@@ -63,3 +72,63 @@ found"
(.stop timer)
(update-fn! update-in [[:timers] dissoc id])
timer))
; assets
(defn ^:private loader-init
"Internal use only"
[k]
(cond
(contains? #{:atlas-tmx-map :tmx-map} k)
(u/gdx :maps :tiled (str (u/key->pascal k) "Loader."))
(contains? #{:g3d-model :obj} k)
(u/gdx :graphics :g3d :loader (str (u/key->pascal k) "Loader."))
:else
(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)))
(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))
(defn asset-manager*
"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)))