there can be only one.
This commit is contained in:
@@ -580,7 +580,8 @@
|
|||||||
(if (= (button-code :right)
|
(if (= (button-code :right)
|
||||||
(:button screen))
|
(:button screen))
|
||||||
(assoc-in entities [:cursor :current] :main)
|
(assoc-in entities [:cursor :current] :main)
|
||||||
(when (get-in entities [:state :active?])
|
(when (and (get-in entities [:state :active?])
|
||||||
|
(not (get-in entities [:state :hud-active?])))
|
||||||
(left-click screen entities)))))
|
(left-click screen entities)))))
|
||||||
|
|
||||||
:on-deactivate (fn [screen [entities]]
|
:on-deactivate (fn [screen [entities]]
|
||||||
@@ -608,7 +609,9 @@
|
|||||||
|
|
||||||
:on-start-script (fn [{:keys [script]} [entities]]
|
:on-start-script (fn [{:keys [script]} [entities]]
|
||||||
(script entities)
|
(script entities)
|
||||||
entities))
|
entities)
|
||||||
|
:hud-active? (fn [{:keys [hud-active?]} [entities]]
|
||||||
|
(assoc-in entities [:state :hud-active?] hud-active?)))
|
||||||
|
|
||||||
(defscreen hud
|
(defscreen hud
|
||||||
:on-show
|
:on-show
|
||||||
@@ -631,6 +634,12 @@
|
|||||||
(fn [screen entities]
|
(fn [screen entities]
|
||||||
(.update (:viewport screen) (:width screen) (:height screen) true))
|
(.update (:viewport screen) (:width screen) (:height screen) true))
|
||||||
|
|
||||||
|
:on-mouse-moved
|
||||||
|
(fn [screen [entities]]
|
||||||
|
(let [[x y] (utils/unproject screen)]
|
||||||
|
(screen! scene :hud-active? :hud-active? (or ((:mouse-in? (:inventory entities)) x y)
|
||||||
|
(utils/intersects? (:close entities) [x y])))))
|
||||||
|
|
||||||
|
|
||||||
:on-touch-up
|
:on-touch-up
|
||||||
(fn [screen [entities]]
|
(fn [screen [entities]]
|
||||||
|
|||||||
Reference in New Issue
Block a user