source of truth comes from inventory for which item is selected.
This commit is contained in:
@@ -21,9 +21,10 @@
|
||||
(and (:shown? entities) (= 1.0 (:opacity entities))))
|
||||
|
||||
|
||||
(defn close [screen entities script-started? dragged-out?]
|
||||
(defn close [screen {:keys [selected-item] :as entities} script-started? dragged-out?]
|
||||
(log/info "closing inventory")
|
||||
(screen! @(resolve 'advent.screens.scene/scene) :on-reactivate :script-started? script-started? :came-from-inventory? dragged-out?)
|
||||
(screen! @(resolve 'advent.screens.scene/scene) :on-reactivate :came-from-inventory? dragged-out?)
|
||||
(screen! @(resolve 'advent.screens.scene/hud) :on-reactivate :script-started? script-started? :item selected-item)
|
||||
(-> entities
|
||||
(assoc-in [:tweens :fade-out] (tween/tween :fade-out screen [:opacity] 1.0 0.0 0.2 :ease tween/ease-out-cubic
|
||||
:finish #(assoc % :shown? false)))))
|
||||
@@ -45,8 +46,7 @@
|
||||
hovered-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
||||
(cond
|
||||
(and selected-item (mouse-outside-inventory? [x y]))
|
||||
(do (screen! @(resolve 'advent.screens.scene/scene) :on-chose-item :item selected-item)
|
||||
(close screen entities false true))
|
||||
(close screen entities false true)
|
||||
|
||||
selected-item
|
||||
(-> entities
|
||||
@@ -67,8 +67,7 @@
|
||||
(let [room-entities (-> @(resolve 'advent.screens.scene/scene)
|
||||
:entities
|
||||
deref
|
||||
first)
|
||||
current-cursor (get-in room-entities [:cursor :current])]
|
||||
first)]
|
||||
|
||||
(log/info "chose inventory item" selected-item)
|
||||
(println selected-item hovered-item dragged?)
|
||||
@@ -94,9 +93,8 @@
|
||||
:entities
|
||||
deref
|
||||
first)
|
||||
current-cursor (get-in room-entities [:cursor :current])
|
||||
ego (get-in room-entities [:room :entities :ego])]
|
||||
(when (and selected-item (= :main current-cursor))
|
||||
(when selected-item
|
||||
(((:get-script ego) selected-item [0 0]) room-entities)
|
||||
(close screen entities true false))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user