a lot of stuff to get rid of reflection.

This commit is contained in:
Bryce Covert
2016-08-03 20:32:03 -07:00
parent 197165b663
commit 3d69fc0b65
13 changed files with 86 additions and 88 deletions

View File

@@ -5,7 +5,8 @@
)
(:import [java.nio ByteBuffer CharBuffer]
[java.io ByteArrayOutputStream]
[com.badlogic.gdx.graphics PixmapIO$PNG]
[com.badlogic.gdx.graphics Pixmap PixmapIO$PNG]
[com.badlogic.gdx.files FileHandle]
))
(def has-steam?
@@ -37,31 +38,39 @@
(when (SteamAPI/isSteamRunning)
(SteamAPI/runCallbacks))))
(defn achievement-fn [f achievement]
(steamify
(let [stats (atom nil)]
(log/info "Getting stats...")
(reset! stats (SteamUserStats. (reify SteamUserStatsCallback
(onUserStatsReceived [_ _ _ _]
(f @stats achievement)
)
(onUserStatsStored [_ _ _])
(onUserAchievementStored [_ _ _ _ _ _]))))
(.requestCurrentStats @stats))))
(if has-steam?
(eval
'(do
(defn achievement-fn [f achievement]
(steamify
(let [stats (atom nil)]
(log/info "Getting stats...")
(reset! stats (SteamUserStats. (reify SteamUserStatsCallback
(onUserStatsReceived [_ _ _ _]
(f @stats achievement)
)
(onUserStatsStored [_ _ _])
(onUserAchievementStored [_ _ _ _ _ _]))))
(.requestCurrentStats @stats))))
(def set-achievement (partial achievement-fn
(fn [stats achievement]
(log/info "Setting achievement" achievement)
(.setAchievement stats achievement)
(.storeStats stats)
(log/info "Done setting achievement" achievement))))
(def set-achievement (partial achievement-fn
(fn [^SteamUserStats stats ^String achievement]
(log/info "Setting achievement" achievement)
(.setAchievement stats achievement)
(.storeStats stats)
(log/info "Done setting achievement" achievement))))
(def clear-achievement (partial achievement-fn
(fn [stats achievement]
(log/info "Clearing achievement" achievement)
(.clearAchievement stats achievement)
(.storeStats stats)
(log/info "Done clearing achievement" achievement))))
(def clear-achievement (partial achievement-fn
(fn [^SteamUserStats stats ^String achievement]
(log/info "Clearing achievement" achievement)
(.clearAchievement stats achievement)
(.storeStats stats)
(log/info "Done clearing achievement" achievement)))))
)
(do
(defn set-achievement [achievement])
(defn clear-achievement [achievement])))
(def all-achievements ["PARDON" "EX_CON" "PRO_WRESTLER" "SHEEP_HORDER" "SAFE_AND_SOUND" "DESTINY" "WISE_UP" "BLOODCLOT" "KITTY_KISS"])
@@ -101,11 +110,11 @@
n))
(if is-app-store?
(for [save-file (.list (files! :external "saves/") ".edn")]
(str "saves/" (.name save-file)))
(str "saves/" (.name ^FileHandle save-file)))
(for [save-file (.list (files! :local "saves/") ".edn")]
(str "saves/" (.name save-file))))))
(str "saves/" (.name ^FileHandle save-file))))))
(defn save-screenshot [pm filename]
(defn save-screenshot [^Pixmap pm ^String filename]
(steamify
(let [rs (SteamRemoteStorage. nil)
png (PixmapIO$PNG. (* (.getWidth pm) (.getHeight pm) 1.5))