ui improvements.

This commit is contained in:
Bryce Covert
2015-10-07 08:18:11 -07:00
parent 0409fba8ca
commit 8e12d2df0b

View File

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