Don't store width/height in screen map
This commit is contained in:
@@ -22,14 +22,11 @@
|
|||||||
(defn defscreen*
|
(defn defscreen*
|
||||||
[{:keys [on-show on-render on-hide on-pause on-resize on-resume]
|
[{:keys [on-show on-render on-hide on-pause on-resize on-resume]
|
||||||
:or {on-show dummy on-render dummy on-hide dummy
|
:or {on-show dummy on-render dummy on-hide dummy
|
||||||
on-pause dummy on-resize dummy on-resume dummy}
|
on-pause dummy on-resize dummy on-resume dummy}}]
|
||||||
:as options}]
|
|
||||||
(let [screen (atom {})]
|
(let [screen (atom {})]
|
||||||
(proxy [Screen] []
|
(proxy [Screen] []
|
||||||
(show []
|
(show []
|
||||||
(on-show (swap! screen assoc
|
(on-show (swap! screen assoc
|
||||||
:width (game :width)
|
|
||||||
:height (game :height)
|
|
||||||
:total-time 0
|
:total-time 0
|
||||||
:delta-time 0
|
:delta-time 0
|
||||||
:set-entities #(swap! screen assoc :entities %)
|
:set-entities #(swap! screen assoc :entities %)
|
||||||
@@ -43,7 +40,7 @@
|
|||||||
:delta-time delta-time)))
|
:delta-time delta-time)))
|
||||||
(hide [] (on-hide @screen))
|
(hide [] (on-hide @screen))
|
||||||
(pause [] (on-pause @screen))
|
(pause [] (on-pause @screen))
|
||||||
(resize [w h] (on-resize (swap! screen assoc :width w :height h)))
|
(resize [w h] (on-resize @screen))
|
||||||
(resume [] (on-resume @screen)))))
|
(resume [] (on-resume @screen)))))
|
||||||
|
|
||||||
(defmacro defscreen
|
(defmacro defscreen
|
||||||
@@ -51,8 +48,7 @@
|
|||||||
`(defonce ~name (defscreen* ~options)))
|
`(defonce ~name (defscreen* ~options)))
|
||||||
|
|
||||||
(defn defgame*
|
(defn defgame*
|
||||||
[{:keys [on-create]
|
[{:keys [on-create] :or {on-create dummy}}]
|
||||||
:or {on-create dummy}}]
|
|
||||||
(proxy [Game] []
|
(proxy [Game] []
|
||||||
(create [] (on-create this))))
|
(create [] (on-create this))))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user