hourglass when script cannot be ended.
This commit is contained in:
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user