Don't store width/height in screen map

This commit is contained in:
oakes
2014-01-01 04:10:26 -05:00
parent 89f8e3463b
commit 8b71590125

View File

@@ -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))))