handles quick clicks.
This commit is contained in:
@@ -32,7 +32,8 @@
|
|||||||
(defn mouse-down [screen entities options]
|
(defn mouse-down [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen options)
|
(let [[x y] (utils/unproject screen options)
|
||||||
selected-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
selected-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
||||||
(assoc entities :selected-item (:item selected-entity))))
|
(assoc entities :selected-item (:item selected-entity)
|
||||||
|
:down-time (:total-time screen))))
|
||||||
|
|
||||||
(defn mouse-outside-inventory? [[x y]]
|
(defn mouse-outside-inventory? [[x y]]
|
||||||
(or (< x 80)
|
(or (< x 80)
|
||||||
@@ -73,11 +74,13 @@
|
|||||||
(cond (not selected-item)
|
(cond (not selected-item)
|
||||||
(close screen entities false false)
|
(close screen entities false false)
|
||||||
|
|
||||||
(and (= selected-item hovered-item)
|
(and
|
||||||
|
(> (- (:total-time screen) (:down-time entities)) 0.5)
|
||||||
|
(= selected-item hovered-item)
|
||||||
dragged?)
|
dragged?)
|
||||||
(dissoc entities :selected-item :dragged?)
|
(dissoc entities :selected-item :dragged?)
|
||||||
|
|
||||||
(or (not hovered-item) (= selected-item hovered-item))
|
(and (or (not hovered-item) (= selected-item hovered-item)))
|
||||||
(do (screen! @(resolve 'advent.screens.scene/scene) :on-chose-item { :item selected-item})
|
(do (screen! @(resolve 'advent.screens.scene/scene) :on-chose-item { :item selected-item})
|
||||||
(close screen entities false false))
|
(close screen entities false false))
|
||||||
:else
|
:else
|
||||||
|
|||||||
Reference in New Issue
Block a user