From 4d14cac8d93d5aa14e7c52ce6e5cb876d501b814 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Fri, 11 Sep 2015 23:01:22 -0700 Subject: [PATCH] more android tweaks. --- desktop/src-common/advent/screens/inventory.clj | 14 ++++++++------ desktop/src-common/advent/screens/scene.clj | 2 +- desktop/src-common/advent/utils.clj | 13 +++++++++++-- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/desktop/src-common/advent/screens/inventory.clj b/desktop/src-common/advent/screens/inventory.clj index 98908048..5b98a46c 100644 --- a/desktop/src-common/advent/screens/inventory.clj +++ b/desktop/src-common/advent/screens/inventory.clj @@ -22,6 +22,12 @@ (assoc-in [:tweens :fade-out] (tween/tween :fade-out screen [:opacity] 1.0 0.0 0.2 :ease tween/ease-out-cubic :finish #(assoc % :shown? false))))) +(defn mouse-interact [screen [entities]] + (let [[x y] (utils/unproject screen) + selected-entity (first (filter #((:box %) x y) (:items entities)))] + (if selected-entity + (assoc entities :highlighted-item (:item selected-entity)) + (assoc entities :highlighted-item nil)))) (defscreen inventory-screen :on-show @@ -97,12 +103,8 @@ :box (zone/box (- offset-x padding) (- offset-y padding) (+ offset-x item-width padding padding) (+ offset-y item-width padding padding))))) (assoc-in [:tweens :fade-in] (tween/tween :fade-in screen [:opacity] 0.0 1.0 0.2 :ease tween/ease-out-cubic))))) - :on-mouse-moved (fn [screen [entities]] - (let [[x y] (utils/unproject screen) - selected-entity (first (filter #((:box %) x y) (:items entities)))] - (if selected-entity - (assoc entities :highlighted-item (:item selected-entity)) - (assoc entities :highlighted-item nil)))) + :on-mouse-moved mouse-interact + :on-touch-down mouse-interact :on-touch-up (fn [screen [entities]] (when (and (:shown? entities) (= (button-code :left) (:button screen)) (= 1.0 (:opacity entities))) diff --git a/desktop/src-common/advent/screens/scene.clj b/desktop/src-common/advent/screens/scene.clj index c64e51d1..b5c2ab62 100644 --- a/desktop/src-common/advent/screens/scene.clj +++ b/desktop/src-common/advent/screens/scene.clj @@ -827,7 +827,7 @@ void main() layers))) (defn get-state [] - (if (.exists (io/file "save.edn")) + (if (utils/has-save?) (utils/load) {:object nil :active? true diff --git a/desktop/src-common/advent/utils.clj b/desktop/src-common/advent/utils.clj index 5effb62e..a25ee0e3 100644 --- a/desktop/src-common/advent/utils.clj +++ b/desktop/src-common/advent/utils.clj @@ -49,10 +49,19 @@ resized )) (defn save [entities] - (spit "save.edn" (entities :state))) + (doto (.getPreferences (Gdx/app) "ticks-tales-saves") + (.putString "save-1" (pr-str (entities :state))) + .flush)) + +(defn has-save? [] + (-> (.getPreferences (Gdx/app) "ticks-tales-saves") + (.contains "save-1"))) (defn load [] - (assoc (edn/read-string (slurp "save.edn")) :active? true)) + (-> (.getPreferences (Gdx/app) "ticks-tales-saves") + (.getString "save-1") + edn/read-string + (assoc :active? true))) (defn load-settings! [] (when (.exists (io/file "settings.edn"))