handles quick clicks.
This commit is contained in:
@@ -32,7 +32,8 @@
|
||||
(defn mouse-down [screen entities options]
|
||||
(let [[x y] (utils/unproject screen options)
|
||||
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]]
|
||||
(or (< x 80)
|
||||
@@ -73,11 +74,13 @@
|
||||
(cond (not selected-item)
|
||||
(close screen entities false false)
|
||||
|
||||
(and (= selected-item hovered-item)
|
||||
(and
|
||||
(> (- (:total-time screen) (:down-time entities)) 0.5)
|
||||
(= selected-item hovered-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})
|
||||
(close screen entities false false))
|
||||
:else
|
||||
|
||||
Reference in New Issue
Block a user