Remove reflection calls

This commit is contained in:
oakes
2014-01-18 12:33:21 -05:00
parent 4d3a79ea74
commit 2db20471e9
2 changed files with 23 additions and 19 deletions

View File

@@ -96,8 +96,8 @@
(defmacro orthogonal-tiled-map!
[screen k & options]
`(u/call! ^OrthogonalTiledMapRenderer (or (:renderer ~screen) ~screen)
~k ~@options))
`(let [^OrthogonalTiledMapRenderer object# (or (:renderer ~screen) ~screen)]
(u/call! object# ~k ~@options)))
(defn isometric-tiled-map*
[path unit]
@@ -110,8 +110,8 @@
(defmacro isometric-tiled-map!
[screen k & options]
`(u/call! ^IsometricTiledMapRenderer (or (:renderer ~screen) ~screen)
~k ~@options))
`(let [^IsometricTiledMapRenderer object# (or (:renderer ~screen) ~screen)]
(u/call! object# ~k ~@options)))
(defn isometric-staggered-tiled-map*
[path unit]
@@ -126,8 +126,9 @@
(defmacro isometric-staggered-tiled-map!
[screen k & options]
`(u/call! ^IsometricStaggeredTiledMapRenderer (or (:renderer ~screen) ~screen)
~k ~@options))
`(let [^IsometricStaggeredTiledMapRenderer object#
(or (:renderer ~screen) ~screen)]
(u/call! object# ~k ~@options)))
(defn hexagonal-tiled-map*
[path unit]
@@ -140,8 +141,8 @@
(defmacro hexagonal-tiled-map!
[screen k & options]
`(u/call! ^HexagonalTiledMapRenderer (or (:renderer ~screen) ~screen)
~k ~@options))
`(let [^HexagonalTiledMapRenderer object# (or (:renderer ~screen) ~screen)]
(u/call! object# ~k ~@options)))
(defn stage*
[]
@@ -153,7 +154,8 @@
(defmacro stage!
[screen k & options]
`(u/call! ^Stage (or (:renderer ~screen) ~screen) ~k ~@options))
`(let [^Stage object# (or (:renderer ~screen) ~screen)]
(u/call! object# ~k ~@options)))
; batch
@@ -254,7 +256,8 @@
(defmacro orthographic!
[screen k & options]
`(u/call! ^OrthographicCamera (or (:camera ~screen) ~screen) ~k ~@options))
`(let [^OrthographicCamera object# (or (:camera ~screen) ~screen)]
(u/call! object# ~k ~@options)))
(defn perspective
[]
@@ -266,7 +269,8 @@
(defmacro perspective!
[screen k & options]
`(u/call! ^PerspectiveCamera (or (:camera ~screen) ~screen) ~k ~@options))
`(let [^PerspectiveCamera object# (or (:camera ~screen) ~screen)]
(u/call! object# ~k ~@options)))
(defn size!
[screen width height]

View File

@@ -17,13 +17,13 @@
(defmacro box-2d
[gravity-x gravity-y & options]
`(let [object# (box-2d* ~gravity-x ~gravity-y)]
(u/calls! ^World object# ~@options)
object#))
`(let [^World object# (box-2d* ~gravity-x ~gravity-y)]
(u/calls! object# ~@options)))
(defmacro box-2d!
[screen k & options]
`(u/call! ^World (or (:world ~screen) ~screen) ~k ~@options))
`(let [^World object# (or (:world ~screen) ~screen)]
(u/call! object# ~k ~@options)))
; bodies
@@ -43,7 +43,8 @@
(defmacro body!
[entity k & options]
`(u/call! ^Body (or (:body ~entity) ~entity) ~k ~@options))
`(let [^Body object# (or (:body ~entity) ~entity)]
(u/call! object# ~k ~@options)))
(defn create-body!*
[screen body-def]
@@ -52,8 +53,7 @@
(defmacro create-body!
[screen type-name & options]
`(let [object# (create-body!* ~screen (body :type (body-type ~type-name)))]
(u/calls! ^Body object# ~@options)
object#))
(u/calls! ^Body object# ~@options)))
(defn body-x
[entity]
@@ -115,7 +115,7 @@
([]
(CircleShape.))
([radius]
(doto (circle*)
(doto ^CircleShape (circle*)
(.setRadius radius)
(.setPosition (m/vector-2 radius radius)))))