Make sure actors have a stage before trying to draw them
This commit is contained in:
@@ -58,22 +58,23 @@
|
|||||||
(defrecord ActorEntity [object] Entity
|
(defrecord ActorEntity [object] Entity
|
||||||
(draw! [{:keys [^Actor object x y width height
|
(draw! [{:keys [^Actor object x y width height
|
||||||
scale-x scale-y angle origin-x origin-y]} _ batch]
|
scale-x scale-y angle origin-x origin-y]} _ batch]
|
||||||
(some->> x (.setX object))
|
(when (.getStage object)
|
||||||
(some->> y (.setY object))
|
(some->> x (.setX object))
|
||||||
(some->> width (.setWidth object))
|
(some->> y (.setY object))
|
||||||
(some->> height (.setHeight object))
|
(some->> width (.setWidth object))
|
||||||
(when (or scale-x scale-y angle)
|
(some->> height (.setHeight object))
|
||||||
(let [scale-x (float (or scale-x 1))
|
(when (or scale-x scale-y angle)
|
||||||
scale-y (float (or scale-y 1))
|
(let [scale-x (float (or scale-x 1))
|
||||||
origin-x (float (or origin-x (/ (.getWidth object) 2)))
|
scale-y (float (or scale-y 1))
|
||||||
origin-y (float (or origin-y (/ (.getHeight object) 2)))
|
origin-x (float (or origin-x (/ (.getWidth object) 2)))
|
||||||
angle (float (or angle 0))]
|
origin-y (float (or origin-y (/ (.getHeight object) 2)))
|
||||||
(.setScaleX object scale-x)
|
angle (float (or angle 0))]
|
||||||
(.setScaleY object scale-y)
|
(.setScaleX object scale-x)
|
||||||
(.setOriginX object origin-x)
|
(.setScaleY object scale-y)
|
||||||
(.setOriginY object origin-y)
|
(.setOriginX object origin-x)
|
||||||
(.setRotation object angle)))
|
(.setOriginY object origin-y)
|
||||||
(.draw object ^Batch batch 1)))
|
(.setRotation object angle)))
|
||||||
|
(.draw object ^Batch batch 1))))
|
||||||
|
|
||||||
(defrecord ModelEntity [object] Entity
|
(defrecord ModelEntity [object] Entity
|
||||||
(draw! [{:keys [^ModelInstance object x y z]}
|
(draw! [{:keys [^ModelInstance object x y z]}
|
||||||
|
|||||||
Reference in New Issue
Block a user