handles quick clicks.

This commit is contained in:
Bryce Covert
2016-10-13 19:25:39 -07:00
parent 3dd4b4298e
commit 4e4334e5aa

View File

@@ -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