Add bang to function

This commit is contained in:
oakes
2014-01-05 13:59:22 -05:00
parent 266d349947
commit 13ab877966

View File

@@ -26,12 +26,12 @@
on-pause dummy on-resize dummy on-resume dummy}}] on-pause dummy on-resize dummy on-resume dummy}}]
(let [screen (atom {}) (let [screen (atom {})
entities (atom '()) entities (atom '())
execute (fn [func screen-map] execute-fn! (fn [func screen-map]
(some->> (func screen-map @entities) (some->> (func screen-map @entities)
list list
flatten flatten
(remove nil?) (remove nil?)
(reset! entities))) (reset! entities)))
create-renderer-fn! #(swap! screen assoc :renderer (renderer %)) create-renderer-fn! #(swap! screen assoc :renderer (renderer %))
create-camera-fn! #(swap! screen assoc :camera (camera %))] create-camera-fn! #(swap! screen assoc :camera (camera %))]
(proxy [Screen] [] (proxy [Screen] []
@@ -41,17 +41,17 @@
:delta-time 0 :delta-time 0
:create-renderer create-renderer-fn! :create-renderer create-renderer-fn!
:create-camera create-camera-fn!) :create-camera create-camera-fn!)
(execute on-show))) (execute-fn! on-show)))
(render [delta-time] (render [delta-time]
(->> (swap! screen (fn [val] (->> (swap! screen (fn [val]
(assoc val (assoc val
:total-time (+ (:total-time val) delta-time) :total-time (+ (:total-time val) delta-time)
:delta-time delta-time))) :delta-time delta-time)))
(execute on-render))) (execute-fn! on-render)))
(hide [] (execute on-hide @screen)) (hide [] (execute-fn! on-hide @screen))
(pause [] (execute on-pause @screen)) (pause [] (execute-fn! on-pause @screen))
(resize [w h] (execute on-resize @screen)) (resize [w h] (execute-fn! on-resize @screen))
(resume [] (execute on-resume @screen))))) (resume [] (execute-fn! on-resume @screen)))))
(defmacro defscreen (defmacro defscreen
[n & {:keys [] :as options}] [n & {:keys [] :as options}]