Use defonce and add other fixes
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
(load "core_render")
|
||||
|
||||
(defn defscreen*
|
||||
[{:keys [on-show on-render on-dispose on-hide on-pause on-resize on-resume]
|
||||
[{:keys [on-show on-render on-hide on-pause on-resize on-resume]
|
||||
:as options}]
|
||||
(let [screen (atom {})
|
||||
dummy-fn (fn [s])
|
||||
@@ -51,16 +51,16 @@
|
||||
|
||||
(defmacro defscreen
|
||||
[name & {:keys [] :as options}]
|
||||
`(def ~name (defscreen* ~options)))
|
||||
`(defonce ~name (defscreen* ~options)))
|
||||
|
||||
(defn defgame*
|
||||
[{:keys [on-create]}]
|
||||
(proxy [Game] []
|
||||
(create [] (on-create this))))
|
||||
(create [] (when on-create (on-create this)))))
|
||||
|
||||
(defmacro defgame
|
||||
[name & {:keys [] :as options}]
|
||||
`(def ~name (defgame* ~options)))
|
||||
`(defonce ~name (defgame* ~options)))
|
||||
|
||||
(defn set-screen!
|
||||
[^Game game ^Screen screen]
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
(clear! 0 0 0 0))
|
||||
([r g b a]
|
||||
(doto (Gdx/gl)
|
||||
(.glClearColor r g b a)
|
||||
(.glClearColor (float r) (float g) (float b) (float a))
|
||||
(.glClear GL20/GL_COLOR_BUFFER_BIT))))
|
||||
|
||||
(defn game*
|
||||
|
||||
Reference in New Issue
Block a user