Add :x and :y to all screen maps

This commit is contained in:
oakes
2014-08-26 18:50:12 -04:00
parent e3ca0ff234
commit 94bf3807ea

View File

@@ -61,13 +61,19 @@
[screen screen-fn]
(screen-fn))
(defn ^:private merge-coords
[{:keys [input-x input-y] :as screen}]
(let [x (or input-x (game :x))
y (or input-y (game :y))]
(merge screen (input->screen screen x y))))
(defn defscreen*
[{:keys [screen entities
on-show on-render on-hide on-pause on-resize on-resume on-timer]
:as options}]
(let [execute-fn! (fn [func & {:keys [] :as options}]
(when func
(let [screen-map (merge @screen options)
(let [screen-map (merge-coords (merge @screen options))
old-entities @entities]
(some->> (with-meta
#(normalize (func screen-map old-entities))