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