progress on inventory drag out interaction.
This commit is contained in:
@@ -21,9 +21,9 @@
|
||||
(and (:shown? entities) (= 1.0 (:opacity entities))))
|
||||
|
||||
|
||||
(defn close [screen entities script-started?]
|
||||
(defn close [screen entities script-started? dragged-out?]
|
||||
(log/info "closing inventory")
|
||||
(screen! @(resolve 'advent.screens.scene/scene) :on-reactivate :script-started? script-started?)
|
||||
(screen! @(resolve 'advent.screens.scene/scene) :on-reactivate :script-started? script-started? :came-from-inventory? dragged-out?)
|
||||
(-> 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)))))
|
||||
@@ -46,7 +46,7 @@
|
||||
(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))
|
||||
(close screen entities false true))
|
||||
|
||||
selected-item
|
||||
(-> entities
|
||||
@@ -73,7 +73,7 @@
|
||||
(log/info "chose inventory item" selected-item)
|
||||
(println selected-item hovered-item dragged?)
|
||||
(cond (not selected-item)
|
||||
(close screen entities false)
|
||||
(close screen entities false false)
|
||||
|
||||
(and (= selected-item hovered-item)
|
||||
dragged?)
|
||||
@@ -81,12 +81,12 @@
|
||||
|
||||
(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))
|
||||
(close screen entities false false))
|
||||
:else
|
||||
(when-let [interaction-script (or ((or (:scripts selected-item) (constantly nil)) (:value hovered-item))
|
||||
(actions/get-script entities (actions/talk entities :ego "I'm not sure how those go together.")))]
|
||||
(interaction-script room-entities)
|
||||
(close screen entities true)))))
|
||||
(close screen entities true false)))))
|
||||
|
||||
(defn right-click [screen {:keys [selected-item] :as entities} ]
|
||||
(let [
|
||||
@@ -98,7 +98,7 @@
|
||||
ego (get-in room-entities [:room :entities :ego])]
|
||||
(when (and selected-item (= :main current-cursor))
|
||||
(((:get-script ego) selected-item [0 0]) room-entities)
|
||||
(close screen entities))))
|
||||
(close screen entities true false))))
|
||||
|
||||
(defn update-hovered-text [screen {:keys [hovered-text hovered-item selected-item] :as entities}]
|
||||
(cond
|
||||
|
||||
Reference in New Issue
Block a user