Allow reading from the screen and entities atoms via a REPL

This commit is contained in:
oakes
2014-01-09 16:28:00 -05:00
parent a895305e9a
commit e6d9b752d9

View File

@@ -51,7 +51,9 @@
(reset! entities)))
create-renderer-fn! #(swap! screen assoc :renderer (renderer %))
update-fn! #(swap! screen merge %)]
{:show (fn []
{:screen screen
:entities entities
:show (fn []
(->> (swap! screen assoc
:total-time 0
:delta-time 0
@@ -72,12 +74,11 @@
(defmacro defscreen
[n & {:keys [] :as options}]
`(->> (for [[k# v#] ~options]
[k# (intern *ns* (symbol (str '~n "-" (name k#))) v#)])
flatten
(apply hash-map)
defscreen*
(def ~n)))
`(let [fns# (->> (for [[k# v#] ~options]
[k# (intern *ns* (symbol (str '~n "-" (name k#))) v#)])
flatten
(apply hash-map))]
(defonce ~n (defscreen* fns#))))
(defn defgame*
[{:keys [on-create] :or {on-create dummy}}]