started multiple saves.

This commit is contained in:
Bryce Covert
2015-09-28 12:49:26 -07:00
parent c732d15750
commit 1cb21ce28b
13 changed files with 81 additions and 57 deletions

View File

@@ -5,6 +5,7 @@
[play-clj.utils :refer :all]
[play-clj.g2d :refer :all]
[advent.utils :as utils]
[advent.saves :as saves]
[advent.tween :as tween]
[advent.screens.scene :as scene]
[advent.screens.dialogue :as dialogue]
@@ -89,7 +90,7 @@
flipped))
(defn quest-label []
(if (:seen-intro? (scene/get-state))
(if (:seen-intro? (utils/load-snapshot :autosave))
"Continue quest"
"Begin quest"))
@@ -100,6 +101,7 @@
(tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 1.0
:finish (fn [entities]
(utils/stop-sound (:music entities))
(reset! utils/selected-save save)
(set-screen! @(resolve 'advent.core/advent) scene/scene scene/demo scene/hud dialogue/talking-screen dialogue/choice-screen inventory/inventory-screen safe/safe-screen fade/fade-screen
)
entities)
@@ -160,17 +162,24 @@
(stack-y 280 6)
(assoc :z 8 :interactable true))})
(defn get-selected-save [entities [x y]]
(first (filter
(every-pred :save #(utils/intersects? % [x y]))
(vals entities))))
(defn saves-menu []
{"Where we left off" (-> (make-label "Where we left off")
(stack-y 280 0)
(assoc :z 8
:interactable true
:save "Where we left off"))
"Our tale's beginning" (-> (make-label "Our tale's beginning")
(stack-y 280 1)
(assoc :z 8
:interactable true
:save "Our tale's beginning"))})
(doto
(into {}
(for [[save index] (map #(vector %1 %2)
(filter utils/has-save? (keys saves/saves))
(range))
:let [name (saves/saves save)]]
[name (-> (make-label name)
(stack-y 280 index)
(assoc :z 8
:interactable true
:save save))]))
println))
(defscreen title-screen
:on-show
@@ -281,9 +290,9 @@
entities)
:on-touch-up (fn [screen [entities]]
(println "HERE")
(when-not (get-in entities [:tweens :fade-out])
(let [[x y] (utils/unproject screen)]
(let [[x y] (utils/unproject screen)
selected-save (get-selected-save entities [x y])]
(cond
(utils/intersects? (:start-playing entities) [x y])
(-> (apply dissoc entities (keys (:main-menu entities)))
@@ -295,12 +304,9 @@
(utils/intersects? (:fullscreen entities) [x y])
(utils/toggle-fullscreen!)
(utils/intersects? (entities "Where we left off") [x y])
(start-playing screen entities "Where we left off")
selected-save
(start-playing screen entities (:save selected-save))
(utils/intersects? (entities "Our tale's beginning") [x y])
(start-playing screen entities "Our tale's beginning")
:else
nil))))