From 94bf3807eaa488e76859c2d916192b5447d05f97 Mon Sep 17 00:00:00 2001 From: oakes Date: Tue, 26 Aug 2014 18:50:12 -0400 Subject: [PATCH] Add :x and :y to all screen maps --- src/play_clj/core.clj | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index 44f0d0e..b9f33fd 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -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))