From 76342d30faf572dda7b73c938f2ddbe2a71adfc2 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Fri, 14 Aug 2015 17:28:44 -0700 Subject: [PATCH] cond instead of nests --- desktop/src-common/advent/utils.clj | 50 ++++++++++++++++------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 46107082..25391065 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -244,29 +244,35 @@ (= :none (get-in entities [:actions :last-skip-type]))))) (defn update-override [screen entities] - (let [last-pos (unproject screen (get-in entities [:cursor :last-pos]))] - (if (get-in entities [:state :active?]) - (if (is-unstoppable-script-running screen entities) - (-> entities - (assoc-in [:cursor :override] :hourglass) - (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) - (assoc-in [:cursor :active] false)) - (if (get-in entities [:state :hud-active?]) - (-> entities - (assoc-in [:cursor :override] nil) - (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) - (assoc-in [:cursor :active] false)) + (let [last-pos (unproject screen (get-in entities [:cursor :last-pos])) + mouse-override (find-override entities last-pos)] + (cond + (not (get-in entities [:state :active?])) + entities - (if-let [mouse-override (find-override entities last-pos)] - (-> entities - (assoc-in [:cursor :override] (or (:cursor mouse-override) (when (#{:main :active-main} (get-in entities [:cursor :last])) :active-main))) - (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) - (assoc-in [:cursor :active] true)) - (-> entities - (assoc-in [:cursor :override] nil) - (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) - (assoc-in [:cursor :active] false))))) - entities))) + (is-unstoppable-script-running screen entities) + (-> entities + (assoc-in [:cursor :override] :hourglass) + (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) + (assoc-in [:cursor :active] false)) + + (get-in entities [:state :hud-active?]) + (-> entities + (assoc-in [:cursor :override] nil) + (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) + (assoc-in [:cursor :active] false)) + + mouse-override + (-> entities + (assoc-in [:cursor :override] (or (:cursor mouse-override) (when (#{:main :active-main} (get-in entities [:cursor :last])) :active-main))) + (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) + (assoc-in [:cursor :active] true)) + + :else + (-> entities + (assoc-in [:cursor :override] nil) + (assoc-in [:cursor :was-active] (get-in entities [:cursor :active])) + (assoc-in [:cursor :active] false))))) (def default-night-merge {:r 0.08 :g 0.1 :b 0.36 :multiply-amount 1.0 :hue-amount 1.0}) (def default-night-merge-sprite {:r 0.08 :g 0.1 :b 0.36 :multiply-amount 0.3 :hue-amount 0.4})