Add macro versions of the render functions
This commit is contained in:
@@ -2,12 +2,18 @@
|
|||||||
|
|
||||||
; tiled maps
|
; tiled maps
|
||||||
|
|
||||||
(defn tiled-map
|
(defn tiled-map*
|
||||||
[s]
|
[s]
|
||||||
(if (string? s)
|
(if (string? s)
|
||||||
(.load (TmxMapLoader.) s)
|
(.load (TmxMapLoader.) s)
|
||||||
s))
|
s))
|
||||||
|
|
||||||
|
(defmacro tiled-map
|
||||||
|
[s & options]
|
||||||
|
`(let [object# (tiled-map* ~s)]
|
||||||
|
(u/calls! ^TiledMap object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro tiled-map!
|
(defmacro tiled-map!
|
||||||
[{:keys [^BatchTiledMapRenderer renderer]} k & options]
|
[{:keys [^BatchTiledMapRenderer renderer]} k & options]
|
||||||
`(u/call! ^TiledMap (.getMap ~renderer) ~k ~@options))
|
`(u/call! ^TiledMap (.getMap ~renderer) ~k ~@options))
|
||||||
@@ -19,7 +25,7 @@
|
|||||||
(for [^long i (range (.getCount layers))]
|
(for [^long i (range (.getCount layers))]
|
||||||
(.get layers i))))
|
(.get layers i))))
|
||||||
|
|
||||||
(defn tiled-map-layer
|
(defn tiled-map-layer*
|
||||||
[screen layer]
|
[screen layer]
|
||||||
(if (isa? (type layer) MapLayer)
|
(if (isa? (type layer) MapLayer)
|
||||||
layer
|
layer
|
||||||
@@ -27,14 +33,26 @@
|
|||||||
(drop-while #(not= layer (.getName ^MapLayer %)))
|
(drop-while #(not= layer (.getName ^MapLayer %)))
|
||||||
first)))
|
first)))
|
||||||
|
|
||||||
|
(defmacro tiled-map-layer
|
||||||
|
[screen layer & options]
|
||||||
|
`(let [object# (tiled-map-layer* ~screen ~layer)]
|
||||||
|
(u/calls! ^TiledMapTileLayer object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro tiled-map-layer!
|
(defmacro tiled-map-layer!
|
||||||
[layer k & options]
|
[layer k & options]
|
||||||
`(u/call! ^TiledMapTileLayer (cast TiledMapTileLayer ~layer) ~k ~@options))
|
`(u/call! ^TiledMapTileLayer (cast TiledMapTileLayer ~layer) ~k ~@options))
|
||||||
|
|
||||||
(defn tiled-map-cell
|
(defn tiled-map-cell*
|
||||||
[screen layer x y]
|
[screen layer x y]
|
||||||
(.getCell ^TiledMapTileLayer (tiled-map-layer screen layer) x y))
|
(.getCell ^TiledMapTileLayer (tiled-map-layer screen layer) x y))
|
||||||
|
|
||||||
|
(defmacro tiled-map-cell
|
||||||
|
[screen layer x y & options]
|
||||||
|
`(let [object# (tiled-map-cell* ~screen ~layer ~x ~y)]
|
||||||
|
(u/calls! ^TiledMapTileLayer$Cell object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro tiled-map-cell!
|
(defmacro tiled-map-cell!
|
||||||
[cell k & options]
|
[cell k & options]
|
||||||
`(u/call! ^TiledMapTileLayer$Cell ~cell ~k ~@options))
|
`(u/call! ^TiledMapTileLayer$Cell ~cell ~k ~@options))
|
||||||
@@ -54,43 +72,73 @@
|
|||||||
|
|
||||||
; renderers
|
; renderers
|
||||||
|
|
||||||
(defn orthogonal-tiled-map
|
(defn orthogonal-tiled-map*
|
||||||
[path unit]
|
[path unit]
|
||||||
(OrthogonalTiledMapRenderer. ^TiledMap (tiled-map path) ^double unit))
|
(OrthogonalTiledMapRenderer. ^TiledMap (tiled-map* path) ^double unit))
|
||||||
|
|
||||||
|
(defmacro orthogonal-tiled-map
|
||||||
|
[path unit & options]
|
||||||
|
`(let [object# (orthogonal-tiled-map* ~path ~unit)]
|
||||||
|
(u/calls! ^OrthogonalTiledMapRenderer object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro orthogonal-tiled-map!
|
(defmacro orthogonal-tiled-map!
|
||||||
[screen k & options]
|
[screen k & options]
|
||||||
`(u/call! ^OrthogonalTiledMapRenderer (:renderer ~screen) ~k ~@options))
|
`(u/call! ^OrthogonalTiledMapRenderer (:renderer ~screen) ~k ~@options))
|
||||||
|
|
||||||
(defn isometric-tiled-map
|
(defn isometric-tiled-map*
|
||||||
[path unit]
|
[path unit]
|
||||||
(IsometricTiledMapRenderer. ^TiledMap (tiled-map path) ^double unit))
|
(IsometricTiledMapRenderer. ^TiledMap (tiled-map* path) ^double unit))
|
||||||
|
|
||||||
|
(defmacro isometric-tiled-map
|
||||||
|
[path unit & options]
|
||||||
|
`(let [object# (isometric-tiled-map* ~path ~unit)]
|
||||||
|
(u/calls! ^IsometricTiledMapRenderer object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro isometric-tiled-map!
|
(defmacro isometric-tiled-map!
|
||||||
[screen k & options]
|
[screen k & options]
|
||||||
`(u/call! ^IsometricTiledMapRenderer (:renderer ~screen) ~k ~@options))
|
`(u/call! ^IsometricTiledMapRenderer (:renderer ~screen) ~k ~@options))
|
||||||
|
|
||||||
(defn isometric-staggered-tiled-map
|
(defn isometric-staggered-tiled-map*
|
||||||
[path unit]
|
[path unit]
|
||||||
(IsometricStaggeredTiledMapRenderer. ^TiledMap (tiled-map path) ^double unit))
|
(IsometricStaggeredTiledMapRenderer. ^TiledMap (tiled-map* path) ^double unit))
|
||||||
|
|
||||||
|
(defmacro isometric-staggered-tiled-map
|
||||||
|
[path unit & options]
|
||||||
|
`(let [object# (isometric-staggered-tiled-map* ~path ~unit)]
|
||||||
|
(u/calls! ^IsometricStaggeredTiledMapRenderer object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro isometric-staggered-tiled-map!
|
(defmacro isometric-staggered-tiled-map!
|
||||||
[screen k & options]
|
[screen k & options]
|
||||||
`(u/call! ^IsometricStaggeredTiledMapRenderer (:renderer ~screen)
|
`(u/call! ^IsometricStaggeredTiledMapRenderer (:renderer ~screen)
|
||||||
~k ~@options))
|
~k ~@options))
|
||||||
|
|
||||||
(defn hexagonal-tiled-map
|
(defn hexagonal-tiled-map*
|
||||||
[path unit]
|
[path unit]
|
||||||
(HexagonalTiledMapRenderer. ^TiledMap (tiled-map path) ^double unit))
|
(HexagonalTiledMapRenderer. ^TiledMap (tiled-map* path) ^double unit))
|
||||||
|
|
||||||
|
(defmacro hexagonal-tiled-map
|
||||||
|
[path unit & options]
|
||||||
|
`(let [object# (hexagonal-tiled-map* ~path ~unit)]
|
||||||
|
(u/calls! ^HexagonalTiledMapRenderer object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro hexagonal-tiled-map!
|
(defmacro hexagonal-tiled-map!
|
||||||
[screen k & options]
|
[screen k & options]
|
||||||
`(u/call! ^HexagonalTiledMapRenderer (:renderer ~screen) ~k ~@options))
|
`(u/call! ^HexagonalTiledMapRenderer (:renderer ~screen) ~k ~@options))
|
||||||
|
|
||||||
(defn stage
|
(defn stage*
|
||||||
[]
|
[]
|
||||||
(Stage.))
|
(Stage.))
|
||||||
|
|
||||||
|
(defmacro stage
|
||||||
|
[& options]
|
||||||
|
`(let [object# (stage*)]
|
||||||
|
(u/calls! ^Stage object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro stage!
|
(defmacro stage!
|
||||||
[screen k & options]
|
[screen k & options]
|
||||||
`(u/call! ^Stage (:renderer ~screen) ~k ~@options))
|
`(u/call! ^Stage (:renderer ~screen) ~k ~@options))
|
||||||
@@ -113,10 +161,16 @@
|
|||||||
|
|
||||||
; cameras
|
; cameras
|
||||||
|
|
||||||
(defn orthographic-camera
|
(defn orthographic-camera*
|
||||||
[]
|
[]
|
||||||
(OrthographicCamera.))
|
(OrthographicCamera.))
|
||||||
|
|
||||||
|
(defmacro orthographic-camera
|
||||||
|
[& options]
|
||||||
|
`(let [object# (orthographic-camera*)]
|
||||||
|
(u/calls! ^OrthographicCamera object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro orthographic-camera!
|
(defmacro orthographic-camera!
|
||||||
[screen k & options]
|
[screen k & options]
|
||||||
`(u/call! ^OrthographicCamera (:camera ~screen) ~k ~@options))
|
`(u/call! ^OrthographicCamera (:camera ~screen) ~k ~@options))
|
||||||
@@ -125,6 +179,12 @@
|
|||||||
[]
|
[]
|
||||||
(PerspectiveCamera.))
|
(PerspectiveCamera.))
|
||||||
|
|
||||||
|
(defmacro perspective-camera
|
||||||
|
[& options]
|
||||||
|
`(let [object# (perspective-camera*)]
|
||||||
|
(u/calls! ^PerspectiveCamera object# ~@options)
|
||||||
|
object#))
|
||||||
|
|
||||||
(defmacro perspective-camera!
|
(defmacro perspective-camera!
|
||||||
[screen k & options]
|
[screen k & options]
|
||||||
`(u/call! ^PerspectiveCamera (:camera ~screen) ~k ~@options))
|
`(u/call! ^PerspectiveCamera (:camera ~screen) ~k ~@options))
|
||||||
|
|||||||
Reference in New Issue
Block a user