cond instead of nests

This commit is contained in:
Bryce Covert
2015-08-14 17:28:44 -07:00
parent 5e992d7791
commit 76342d30fa

View File

@@ -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})