From a1979e1c235b43723c6c5b283edc80a0364abf78 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Tue, 10 Nov 2015 09:20:50 -0800 Subject: [PATCH] save menu confirms for delete. --- desktop/src-common/advent/screens/title.clj | 49 +++++++++++++++------ 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/desktop/src-common/advent/screens/title.clj b/desktop/src-common/advent/screens/title.clj index ea28c743..100b895e 100644 --- a/desktop/src-common/advent/screens/title.clj +++ b/desktop/src-common/advent/screens/title.clj @@ -16,7 +16,7 @@ [advent.screens.fade :as fade] [advent.version] ) - (:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter] + (:import [com.badlogic.gdx.graphics Pixmap Pixmap$Filter Texture Texture$TextureFilter Color] [com.badlogic.gdx.graphics.g2d TextureRegion] [com.badlogic.gdx.utils.viewport FitViewport] [com.badlogic.gdx.scenes.scene2d.ui Slider$SliderStyle Widget ButtonGroup] @@ -29,7 +29,11 @@ (defn get-color [e mouse-pos] (if (utils/intersects? e mouse-pos) (color :yellow) - (color 1.0 0.3 0.3 1.0))) + (color 0.242 0.105 0.355 1.0))) + + +(def button-color (Color/valueOf "9b399eff")) +(def label-color (color 0.81 0.5 0.0 1.0)) (defn style-label [e font mouse-pos] (when (:interactable e) @@ -123,9 +127,9 @@ (defn button-style [] (let [font (utils/get-font "ego/font.fnt") style (style :text-button nil nil nil font)] - (set! (.fontColor style) (color 1.0 0.3 0.3 1.0)) + (set! (.fontColor style) button-color) (set! (.overFontColor style) (color :yellow)) - (set! (.downFontColor style) (color 0.7 0.2 0.2 1.0)) + (set! (.downFontColor style) (Color/valueOf "49224aff")) (set! (.disabledFontColor style) (color :gray)) style)) @@ -190,11 +194,11 @@ (filter identity) seq)))) :height 32] :row - [(make-label "Music" (color :white)) :height 32] + [(make-label "Music" label-color) :height 32] :row [(make-slider (:music-volume @utils/settings) :key :music-volume-slider) :height 32 :width 305] :row - [(make-label "FX" (color :white)) :height 32] + [(make-label "FX" label-color) :height 32] :row [(make-slider (:sound-volume @utils/settings) :key :sound-volume-slider) :height 32 :width 305] :row @@ -244,7 +248,7 @@ (.setOrigin (/ (- cell-w 16) 2) (/ (- cell-h 16) 2)) (.addActor (:object (doto (image (texture screenshot)) (image! :set-size (- cell-w 16) (- cell-h 16))))) - (.addActor (:object (make-label (str " " (or blurb name))))) + (.addActor (:object (make-label (str " " (or blurb name)) label-color ))) )) @@ -263,7 +267,7 @@ :colspan 3 :height 224 :width 476])) (defn saves-menu [entities stage] - (let [save-label (make-label "") + (let [save-label (make-label "" label-color) continue-button (doto (make-button "Continue" :key :continue) (text-button! :set-disabled true)) delete-button (doto (make-button "Delete" :key :delete) @@ -279,6 +283,15 @@ :delete-button delete-button :continue-button continue-button))) +(defn confirm-delete [entities] + (make-table [[(make-label "Are you sure you want" label-color) :height 32 :colspan 2] + :row + [(make-label "to delete the save" label-color) :height 32 :colspan 2] + :row + [(make-label (str "\"" (-> entities :selected-save :name) "\"?") label-color) :height 32 :colspan 2] + :row + [(make-button "Keep" :key :dont-delete-button) :width 100] + [(make-button "Delete" :key :confirm-delete-button) :width 100]])) (defscreen title-screen :on-show @@ -337,7 +350,7 @@ :font font :music music :volume 1.0 - :copyright (make-label (str "DEMO - Copyright Bryce Covert - Not for distribution - version " (advent.version/version))) + :copyright (make-label (str "DEMO - Copyright Bryce Covert - Not for distribution - version " (advent.version/version)) label-color) :tweens {:fade-in (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 1.0 :finish #(do @@ -397,10 +410,15 @@ (dissoc :chapters-menu) (assoc :main-menu (main-menu))) + (#{:dont-delete-button } actor-key) + (as-> entities entities + (dissoc entities :confirm-delete) + (assoc entities :save-menu (saves-menu entities (:renderer screen)))) + (= :load actor-key) - (-> entities - (dissoc :main-menu) - (assoc :save-menu (saves-menu entities (:renderer screen)))) + (as-> entities entities + (dissoc entities :main-menu) + (assoc entities :save-menu (saves-menu entities (:renderer screen)))) (= :chapters actor-key) (-> entities @@ -424,10 +442,15 @@ (start-playing screen entities (:selected-save entities)) (= :delete actor-key) + (as-> entities entities + (dissoc entities :save-menu) + (assoc entities :confirm-delete (confirm-delete entities))) + + (= :confirm-delete-button actor-key) (do (utils/remove-save (:id (:selected-save entities))) (as-> entities entities - (dissoc entities :save-menu) + (dissoc entities :confirm-delete) (assoc entities :saves-list (doto (utils/snapshot-screenshots) println)) (assoc entities :save-menu (saves-menu entities (:renderer screen)))))