diff --git a/desktop/src-common/advent/screens/title.clj b/desktop/src-common/advent/screens/title.clj index fb62805b..a9c451a1 100644 --- a/desktop/src-common/advent/screens/title.clj +++ b/desktop/src-common/advent/screens/title.clj @@ -111,11 +111,11 @@ (defn make-label ([msg] - (make-label msg (color 1.0 0.3 0.3 1.0))) + (make-label msg nil)) ([msg col] (let [font (utils/get-font "ego/font.fnt")] (-> msg - (label (style :label font col)) + (label (style :label font (or col (color 1.0 0.3 0.3 1.0)))) (assoc :x 0 :y 0 :height 32 :origin-x 0 :origin-y 0 :z 8) center (doto (label! :set-alignment Align/center)))))) @@ -139,7 +139,7 @@ (stack-y 305 0) (assoc :z 8 :interactable true)) - :rewind (-> (make-label "Previous chapter" (color :white)) + :rewind (-> (make-label "Previous chapter" (when is-starting? (color :white))) (stack-y 305 1) (assoc :z 8 :interactable (not is-starting?))) @@ -186,6 +186,17 @@ :interactable true :save (saves/name->save name)))]))) +(defn style-ui [entities] + (doseq [entity (vals entities) + :let [[x y] (:last-pos entities)] + :when (and (:object entity) x y)] + (cond (label? entity) + (style-label entity (get-in entities [:font]) [x y]) + + (slider? entity) + (style-slider entity [x y]))) + entities) + (defscreen title-screen :on-show (fn [screen entities] @@ -256,7 +267,8 @@ (let [entities (utils/apply-tweens screen entities (:tweens entities)) entities (fly-ego screen entities) entities (fly-balloon screen entities) - entities (update-in entities [:balloon] merge (animation->texture screen (:anim (:balloon entities))))] + entities (update-in entities [:balloon] merge (animation->texture screen (:anim (:balloon entities)))) + entities (style-ui entities)] (when (:fullscreen entities) (label! (:fullscreen entities) :set-text (if (.isFullscreen Gdx/graphics) "Fullscreen" @@ -272,13 +284,11 @@ :on-mouse-moved (fn [screen [entities]] (let [[x y] (utils/unproject screen)] - (doseq [entity (vals entities) - :when (:object entity)] - (cond (label? entity) - (style-label entity (get-in entities [:font]) [x y]) + (assoc entities :last-pos [x y]))) - (slider? entity) - (style-slider entity [x y]))))) + :on-touch-dragged (fn [screen [entities]] + (let [[x y] (utils/unproject screen)] + (assoc entities :last-pos [x y]))) :on-key-up (fn [screen entities] (when (= (key-code :escape) (:key screen))