rewindable.
This commit is contained in:
@@ -8,6 +8,7 @@ PROGRAMMING
|
|||||||
+ behind house left direction not great
|
+ behind house left direction not great
|
||||||
+ spying broken
|
+ spying broken
|
||||||
+ still can get into dialogue deadlock somehow
|
+ still can get into dialogue deadlock somehow
|
||||||
|
+ Go backwards on load.
|
||||||
|
|
||||||
IOS
|
IOS
|
||||||
+ all mp3s
|
+ all mp3s
|
||||||
|
|||||||
@@ -124,43 +124,49 @@
|
|||||||
(let [ui-skin (skin "ui/ui.json")]
|
(let [ui-skin (skin "ui/ui.json")]
|
||||||
(->
|
(->
|
||||||
(slider {:min 0 :max 100 :step 1} ui-skin :set-value initial-value)
|
(slider {:min 0 :max 100 :step 1} ui-skin :set-value initial-value)
|
||||||
(assoc :width 300
|
(assoc :width 305
|
||||||
:hover (skin! ui-skin :get "default-horizontal-hover" Slider$SliderStyle)
|
:hover (skin! ui-skin :get "default-horizontal-hover" Slider$SliderStyle)
|
||||||
:default (skin! ui-skin :get "default-horizontal" Slider$SliderStyle)
|
:default (skin! ui-skin :get "default-horizontal" Slider$SliderStyle)
|
||||||
:z 8))))
|
:z 8))))
|
||||||
|
|
||||||
(defn stack-y [label base index]
|
(defn stack-y [label base index]
|
||||||
(assoc label :y (- 280 (* 32 index))))
|
(assoc label :y (- base (* 32 index))))
|
||||||
|
|
||||||
(defn main-menu []
|
(defn main-menu []
|
||||||
{:start-playing (-> (make-label (quest-label))
|
(let [start-playing-label (quest-label)
|
||||||
(stack-y 280 0)
|
is-starting? (= "Begin quest" start-playing-label)]
|
||||||
(assoc :z 8
|
{:start-playing (-> (make-label start-playing-label)
|
||||||
:interactable true))
|
(stack-y 305 0)
|
||||||
|
(assoc :z 8
|
||||||
|
:interactable true))
|
||||||
|
:rewind (-> (make-label "Previous chapter" (color :white))
|
||||||
|
(stack-y 305 1)
|
||||||
|
(assoc :z 8
|
||||||
|
:interactable (not is-starting?)))
|
||||||
|
|
||||||
:music-label (-> (make-label "Music" (color :white))
|
:music-label (-> (make-label "Music" (color :white))
|
||||||
(stack-y 280 1)
|
(stack-y 305 2)
|
||||||
(assoc :z 8))
|
(assoc :z 8))
|
||||||
|
|
||||||
:music-volume-slider (-> (make-slider (:music-volume @utils/settings))
|
:music-volume-slider (-> (make-slider (:music-volume @utils/settings))
|
||||||
center
|
center
|
||||||
(stack-y 280 2)
|
(stack-y 305 3)
|
||||||
(assoc :z 8))
|
(assoc :z 8))
|
||||||
|
|
||||||
:sound-label (-> (make-label "FX" (color :white))
|
:sound-label (-> (make-label "FX" (color :white))
|
||||||
(stack-y 280 3)
|
(stack-y 305 4)
|
||||||
(assoc :z 8))
|
(assoc :z 8))
|
||||||
:sound-volume-slider (-> (make-slider (:sound-volume @utils/settings))
|
:sound-volume-slider (-> (make-slider (:sound-volume @utils/settings))
|
||||||
center
|
center
|
||||||
(stack-y 280 4)
|
(stack-y 305 5)
|
||||||
(assoc :z 8))
|
(assoc :z 8))
|
||||||
|
|
||||||
:fullscreen (-> (make-label "Fullscreen")
|
:fullscreen (-> (make-label "Fullscreen")
|
||||||
(stack-y 280 5)
|
(stack-y 305 6)
|
||||||
(assoc :z 8 :interactable true))
|
(assoc :z 8 :interactable true))
|
||||||
:quit (-> (make-label "End quest")
|
:quit (-> (make-label "End quest")
|
||||||
(stack-y 280 6)
|
(stack-y 305 7)
|
||||||
(assoc :z 8 :interactable true))})
|
(assoc :z 8 :interactable true))}))
|
||||||
|
|
||||||
(defn get-selected-save [entities [x y]]
|
(defn get-selected-save [entities [x y]]
|
||||||
(first (filter
|
(first (filter
|
||||||
@@ -168,16 +174,17 @@
|
|||||||
(vals entities))))
|
(vals entities))))
|
||||||
|
|
||||||
(defn saves-menu []
|
(defn saves-menu []
|
||||||
(doto
|
(into {:back (-> (make-label "Back")
|
||||||
(into {}
|
(stack-y 305 7)
|
||||||
(for [[name index] (map #(vector %1 %2)
|
(assoc :z 8
|
||||||
(utils/snapshot-list) (range))]
|
:interactable true))}
|
||||||
[name (-> (make-label name)
|
(for [[name index] (map #(vector %1 %2)
|
||||||
(stack-y 280 index)
|
(utils/snapshot-list) (range))]
|
||||||
(assoc :z 8
|
[name (-> (make-label name)
|
||||||
:interactable true
|
(stack-y 305 index)
|
||||||
:save (saves/name->save name)))]))
|
(assoc :z 8
|
||||||
println))
|
:interactable true
|
||||||
|
:save (saves/name->save name)))])))
|
||||||
|
|
||||||
(defscreen title-screen
|
(defscreen title-screen
|
||||||
:on-show
|
:on-show
|
||||||
@@ -224,7 +231,7 @@
|
|||||||
:ego-jet (assoc (particle-effect "particles/jet" :reset :start) :x 450 :y 650 :z 4)
|
:ego-jet (assoc (particle-effect "particles/jet" :reset :start) :x 450 :y 650 :z 4)
|
||||||
|
|
||||||
:toolbox (-> (assoc (nine-patch {:region (:object (utils/get-texture "talk-bg-2.png")) :left 9 :top 9 :right 9 :bottom 9})
|
:toolbox (-> (assoc (nine-patch {:region (:object (utils/get-texture "talk-bg-2.png")) :left 9 :top 9 :right 9 :bottom 9})
|
||||||
:y 58 :width 500 :height 282
|
:y 58 :width 500 :height 297
|
||||||
:z 7)
|
:z 7)
|
||||||
center)
|
center)
|
||||||
:main-menu (main-menu)
|
:main-menu (main-menu)
|
||||||
@@ -294,6 +301,13 @@
|
|||||||
selected-save (get-selected-save entities [x y])]
|
selected-save (get-selected-save entities [x y])]
|
||||||
(cond
|
(cond
|
||||||
(utils/intersects? (:start-playing entities) [x y])
|
(utils/intersects? (:start-playing entities) [x y])
|
||||||
|
|
||||||
|
(start-playing screen entities (if (= "Begin quest" (quest-label))
|
||||||
|
nil
|
||||||
|
:autosave))
|
||||||
|
|
||||||
|
(and (utils/intersects? (:rewind entities) [x y])
|
||||||
|
(-> entities :rewind :interactable))
|
||||||
(-> (apply dissoc entities (keys (:main-menu entities)))
|
(-> (apply dissoc entities (keys (:main-menu entities)))
|
||||||
(merge (:saves-menu entities)))
|
(merge (:saves-menu entities)))
|
||||||
|
|
||||||
@@ -303,6 +317,10 @@
|
|||||||
(utils/intersects? (:fullscreen entities) [x y])
|
(utils/intersects? (:fullscreen entities) [x y])
|
||||||
(utils/toggle-fullscreen!)
|
(utils/toggle-fullscreen!)
|
||||||
|
|
||||||
|
(and (:back entities) (utils/intersects? (:back entities) [x y]))
|
||||||
|
(-> (apply dissoc entities (keys (:saves-menu entities)))
|
||||||
|
(merge (:main-menu entities)))
|
||||||
|
|
||||||
selected-save
|
selected-save
|
||||||
(start-playing screen entities (:save selected-save))
|
(start-playing screen entities (:save selected-save))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user