diff --git a/desktop/resources/cursor.png b/desktop/resources/cursor.png index a079a4ae..d87b759e 100644 Binary files a/desktop/resources/cursor.png and b/desktop/resources/cursor.png differ diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index 25684154..a83c96fb 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -36,12 +36,15 @@ +(defn find-override [screen entities [x y]] + (first (filter #(mouse-in? % [x y]) + (get-in entities [:background :mouse-overrides])))) (defn left-click [screen entities] (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)}) interaction (first (filter #(mouse-in? % [x y]) (get-in entities [:background :interactions]))) - cursor-override (get-in entities [:cursor :override]) + cursor-override (find-override screen entities [x y]) ;; TODO - hacky way of resetting queue entities (if-let [current-action (get-in entities [:actions :current])] (assoc (actions/terminate current-action screen entities) @@ -220,7 +223,7 @@ :on-mouse-moved (fn [screen [entities]] (let [{:keys [x y]} (input->screen screen {:x (:input-x screen) :y (:input-y screen)})] - (if-let [mouse-override (first (filter #(mouse-in? % [x y]) (get-in entities [:background :mouse-overrides])))] + (if-let [mouse-override (find-override screen entities [x y])] (assoc-in entities [:cursor :override] (cursor-override mouse-override)) (assoc-in entities [:cursor :override] nil))))