fixed bug that broke item interactions.

This commit is contained in:
2014-10-14 17:52:32 -07:00
parent 28ca70a1fc
commit ec87413084
2 changed files with 10 additions and 7 deletions

View File

@@ -8,7 +8,8 @@
:get-script (fn [cursor [x y]]
(if (= :main cursor)
(:script spec)
(get-in spec [:scripts cursor])))}))
(when-let [scripts (:scripts spec)]
(scripts cursor))))}))
entities (into {} (for [[id entity] entities]
[id (merge entity
{:mouse-in? (fn [entities x y]
@@ -20,7 +21,8 @@
{:get-script (fn [cursor [x y]]
(if (= :main cursor)
(:script entity)
(get-in entity [:scripts cursor])))}))]))]
(when-let [scripts (:scripts entity)]
(scripts cursor))))}))]))]
(merge params {:collision (advent.pathfind/map-from-resource collision)
:interactions interactions-as-list
:entities entities})))

View File

@@ -118,10 +118,11 @@
(defn update-cursor [screen {{:keys [current override last]} :cursor :as entities}]
(when-not (= (or override current)
last)
(input! :set-cursor-image (utils/cursor "cursor.png" (or override current)) 0 0))
(assoc-in entities [:cursor :last] (or override current)))
(let [new-current (or override current)]
(when-not (= new-current
last)
(input! :set-cursor-image (utils/cursor "cursor.png" (or (:cursor new-current) new-current)) 0 0))
(assoc-in entities [:cursor :last] new-current)))
@@ -200,7 +201,7 @@
(assoc-in entities [:state :active?] true))
:on-chose-item (fn [{:keys [item]} [entities]]
(assoc-in entities [:cursor :current] (:cursor item)))
(assoc-in entities [:cursor :current] item))
:on-start-script (fn [{:keys [script]} [entities]]
(script entities)