started multiple saves.

This commit is contained in:
Bryce Covert
2015-09-28 12:49:26 -07:00
parent c732d15750
commit 1cb21ce28b
13 changed files with 81 additions and 57 deletions

View File

@@ -8,7 +8,8 @@
[play-clj.entities :refer [->TextureEntity]]
[clojure.java.io :as io]
[clojure.edn :as edn]
[clojure.string :as str])
[clojure.string :as str]
[advent.saves :as saves])
(:import [com.badlogic.gdx.graphics Pixmap Pixmap$Blending Pixmap$Filter Texture Texture$TextureFilter]
[com.badlogic.gdx.graphics.g2d TextureRegion Animation]
[com.badlogic.gdx.utils.viewport FitViewport]
@@ -27,6 +28,8 @@
(def settings (atom {:music-volume 50.0
:sound-volume 75.0}))
(def selected-save (atom nil))
(defn current-music-volume [& [factor]]
(* (Math/pow (/ (:music-volume @settings) 100.0) 2)
0.25
@@ -57,28 +60,31 @@
(defn snapshot-state [entities name]
(doto (.getPreferences (Gdx/app) "ticks-tales-saves")
(.putString name (pr-str (entities :state)))
(.putString (saves/saves name) (pr-str (entities :state)))
.flush))
(defn save [entities]
(snapshot-state entities "Autosave"))
(snapshot-state entities :autosave))
(defn has-save?
([] (has-save? :autosave))
([key]
(let [name (saves/saves key)]
(-> (.getPreferences (Gdx/app) "ticks-tales-saves")
(.contains name)))))
(defn has-save? []
(-> (.getPreferences (Gdx/app) "ticks-tales-saves")
(.contains "Autosave")))
(defn load-snapshot [name]
(-> (.getPreferences (Gdx/app) "ticks-tales-saves")
(.getString name)
edn/read-string
(assoc :active? true)))
(defn load-snapshot [key]
(doto (let [name (saves/saves key)]
(-> (.getPreferences (Gdx/app) "ticks-tales-saves")
(.getString name)
edn/read-string
(assoc :active? true)))
println))
(defn load []
(load-snapshot "Autosave"))
(load-snapshot :autosave))
(defn save-settings [entities]
(defn save-settings! [entities]
(doto (.getPreferences (Gdx/app) "ticks-tales-saves")
(.putString "settings" (pr-str @settings))
.flush))
@@ -87,20 +93,12 @@
(-> (.getPreferences (Gdx/app) "ticks-tales-saves")
(.contains "settings")))
(defn load-settings []
(reset! settings
(defn load-settings! []
#_(reset! settings
(-> (.getPreferences (Gdx/app) "ticks-tales-saves")
(.getString "settings")
edn/read-string)))
(defn load-settings! []
(when (.exists (io/file "settings.edn"))
(reset! settings (edn/read-string (slurp "settings.edn")))))
(defn save-settings! []
(spit "settings.edn" @settings))
(defn get-font [filename]
(let [font (bitmap-font filename)
tr (bitmap-font! font :get-region)