diff --git a/desktop/src-common/advent/screens/title.clj b/desktop/src-common/advent/screens/title.clj index 0006b32b..5f1333ec 100644 --- a/desktop/src-common/advent/screens/title.clj +++ b/desktop/src-common/advent/screens/title.clj @@ -194,13 +194,6 @@ :row [(make-button "Settings" :key :settings) :height 56 :pad-bottom 4 :width 250] - - - - - - - :row [(make-button "End quest" :key :end-quest) :height 56 :width 250] ]))) @@ -223,6 +216,33 @@ :row [ (make-button "Back" :key :back) :height 56]]))) +(defn settings-menu [] + (let [chapters (utils/get-chapters) + chapter-table (table + (mapcat identity + (for [chapter [:chapter-1 :chapter-2 :chapter-3 :chapter-4 :chapter-5]] + [[(doto (make-button (if (chapter chapters) + (saves/chapter-name chapter) + "---") + :chapter (chapter chapters)) + (text-button! :set-disabled (nil? (chapter chapters)))) :height 56 :pad-bottom 4 :width 400] + :row])))] + + (make-table [[(make-label "Settings" label-color) :height 32 :pad-bottom 4] + :row + [(make-label "Music" label-color) :height 32 :pad-bottom 4] + :row + [(make-slider (:music-volume @utils/settings) :key :music-volume-slider) :width 240 :pad-bottom 4] + :row + [(make-label "FX" label-color) :height 32 :width 200 :pad-bottom 4] + :row + [(make-slider (:sound-volume @utils/settings) :key :sound-volume-slider) :width 240 :pad-bottom 4] + :row + [(make-button "Fullscreen" :key :toggle-fullscreen) :height 56 :pad-bottom 4 :width 240] + + :row + [ (make-button "Back" :key :back) :height 56 :width 240]]))) + (defn get-selected-save [entities [x y]] (first (filter (every-pred :save #(utils/intersects? % [x y])) @@ -405,6 +425,7 @@ (-> entities (dissoc :save-menu) (dissoc :chapters-menu) + (dissoc :settings-menu) (assoc :main-menu (main-menu))) (#{:dont-delete-button } actor-key) @@ -422,6 +443,11 @@ (dissoc :main-menu) (assoc :chapters-menu (chapters-menu ))) + (= :settings actor-key) + (-> entities + (dissoc :main-menu) + (assoc :settings-menu (settings-menu))) + (= :toggle-fullscreen actor-key) (utils/toggle-fullscreen!)