Allow updating entities
This commit is contained in:
@@ -36,10 +36,13 @@
|
|||||||
(->> entity
|
(->> entity
|
||||||
(conj (:entities @screen))
|
(conj (:entities @screen))
|
||||||
(swap! screen assoc :entities)))
|
(swap! screen assoc :entities)))
|
||||||
del-entity (fn [entity]
|
rem-entity (fn [entity]
|
||||||
(->> (:entities @screen)
|
(->> (:entities @screen)
|
||||||
(remove #(= % entity))
|
(remove #(= % entity))
|
||||||
(swap! screen assoc :entities)))]
|
(swap! screen assoc :entities)))
|
||||||
|
upd-entity (fn [entity args]
|
||||||
|
(rem-entity entity)
|
||||||
|
(add-entity (apply assoc entity args)))]
|
||||||
(proxy [Screen] []
|
(proxy [Screen] []
|
||||||
(show []
|
(show []
|
||||||
(swap! screen assoc
|
(swap! screen assoc
|
||||||
@@ -48,7 +51,8 @@
|
|||||||
:total-time 0
|
:total-time 0
|
||||||
:entities []
|
:entities []
|
||||||
:add-entity add-entity
|
:add-entity add-entity
|
||||||
:del-entity del-entity)
|
:rem-entity rem-entity
|
||||||
|
:upd-entity upd-entity)
|
||||||
(on-show @screen))
|
(on-show @screen))
|
||||||
(render [delta-time]
|
(render [delta-time]
|
||||||
(swap! screen assoc :total-time (+ (:total-time @screen) delta-time))
|
(swap! screen assoc :total-time (+ (:total-time @screen) delta-time))
|
||||||
@@ -68,8 +72,12 @@
|
|||||||
(add-entity e))
|
(add-entity e))
|
||||||
|
|
||||||
(defn remove-entity!
|
(defn remove-entity!
|
||||||
[{:keys [del-entity]} e]
|
[{:keys [rem-entity]} e]
|
||||||
(del-entity e))
|
(rem-entity e))
|
||||||
|
|
||||||
|
(defn update-entity!
|
||||||
|
[{:keys [upd-entity]} e & args]
|
||||||
|
(upd-entity e args))
|
||||||
|
|
||||||
(defn set-screen!
|
(defn set-screen!
|
||||||
[^Game game ^Screen screen]
|
[^Game game ^Screen screen]
|
||||||
|
|||||||
@@ -65,6 +65,6 @@
|
|||||||
(.begin batch)
|
(.begin batch)
|
||||||
(doseq [{:keys [image x y width height]} entities]
|
(doseq [{:keys [image x y width height]} entities]
|
||||||
(when (and image x y width height)
|
(when (and image x y width height)
|
||||||
(.draw batch image x y width height)))
|
(.draw batch image (float x) (float y) (float width) (float height))))
|
||||||
(.end batch)
|
(.end batch)
|
||||||
batch)))
|
batch)))
|
||||||
|
|||||||
Reference in New Issue
Block a user