hourglass when script cannot be ended.

This commit is contained in:
Bryce Covert
2015-08-13 22:16:31 -07:00
parent ac3b8665ef
commit ffa264eb7b
14 changed files with 109 additions and 68 deletions

View File

@@ -237,24 +237,35 @@
(and (< x1 x (+ x1 width))
(< y1 y (+ y1 height))))
(defn is-unstoppable-script-running [screen entities]
(let [current-action (get-in entities [:actions :current])
is-script-running (get-in entities [:actions :script-running?])]
(and is-script-running
(= :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 (get-in entities [:state :hud-active?])
(if (is-unstoppable-script-running screen entities)
(-> entities
(assoc-in [:cursor :override] nil)
(assoc-in [:cursor :override] :hourglass)
(assoc-in [:cursor :was-active] (get-in entities [:cursor :active]))
(assoc-in [:cursor :active] false))
(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))
(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))))
(assoc-in [:cursor :active] false))
(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)))
(def default-night-merge {:r 0.08 :g 0.1 :b 0.36 :multiply-amount 1.0 :hue-amount 1.0})