21 lines
481 B
Clojure
21 lines
481 B
Clojure
(ns advent.steam)
|
|
|
|
(def has-steam?
|
|
(try
|
|
(import '[com.codedisaster.steamworks SteamUserStats SteamUserStatsCallback SteamAPI])
|
|
true
|
|
(catch Exception e
|
|
false)))
|
|
|
|
(defn init []
|
|
(when has-steam?
|
|
(eval `(SteamAPI/init))))
|
|
|
|
(defn update []
|
|
(when (and has-steam? (eval `(SteamAPI/isSteamRunning)))
|
|
(eval `(SteamAPI/runCallbacks))))
|
|
|
|
(defn set-achievement [achievement]
|
|
(when has-steam?
|
|
(eval `(.setAchievement (SteamUserStats. nil) ~achievement))))
|