Allow tracking timers globally

This commit is contained in:
oakes
2014-05-21 16:11:25 -04:00
parent 9601600051
commit 9ddc6017ab
2 changed files with 35 additions and 13 deletions

View File

@@ -5,15 +5,6 @@
; misc
(def ^:dynamic *asset-manager* nil)
(defn load-asset
[path type]
(when-let [^AssetManager am *asset-manager*]
(.load am path type)
(.finishLoading am)
(.get am path type)))
(defn throw-key-not-found
[k]
(throw (Exception. (str "The keyword " k " is not found."))))
@@ -25,6 +16,32 @@
(throw-key-not-found k))
obj))
; assets
(def ^:dynamic *asset-manager* nil)
(defn load-asset
[path type]
(when-let [^AssetManager am *asset-manager*]
(.load am path type)
(.finishLoading am)
(.get am path type)))
; timers
(def ^:dynamic *timers* nil)
(defn track-timers!
[]
(intern 'play-clj.utils '*timers* (atom #{})))
(defn stop-timers!
[]
(when *timers*
(doseq [t (deref *timers*)]
(.stop t))
(reset! *timers* #{})))
; converting keys
(def ^:const main-package "com.badlogic.gdx")