hacks to support a map as entities.

This commit is contained in:
2015-03-04 13:37:06 -08:00
parent 942b3ae7f4
commit a78b703b8d

View File

@@ -190,16 +190,18 @@ in the `screen`."
(doto (.getViewport renderer) (doto (.getViewport renderer)
(.setCamera camera) (.setCamera camera)
(.setWorldSize (. camera viewportWidth) (. camera viewportHeight))))) (.setWorldSize (. camera viewportWidth) (. camera viewportHeight)))))
([{:keys [^Stage renderer ui-listeners]} entities] ([{:keys [^Stage renderer ui-listeners]} [entities]]
(doseq [^Actor a (.getActors renderer)] (doseq [^Actor a (.getActors renderer)]
(.remove a)) (.remove a))
(doseq [{:keys [object]} entities] (doseq [e (vals entities) ]
(when (isa? (type object) Actor) (let [object (:object e)]
(.addActor renderer object) (when (isa? (type object) Actor)
(doseq [[_ listener] ui-listeners]
(.addListener ^Actor object listener)))) (.addActor renderer object)
(remove-input! renderer) (doseq [[_ listener] ui-listeners]
(add-input! renderer))) (.addListener ^Actor object listener)))))
(remove-input! renderer)
(add-input! renderer)))
(defmulti update-physics! (defmulti update-physics!
(fn [screen & [entities]] (some-> screen :world class .getName)) (fn [screen & [entities]] (some-> screen :world class .getName))