diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index 94308b4..1cd401a 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -31,8 +31,6 @@ [obj] {:type :actor :object obj}) -(defn- dummy [& args]) - (load "core_2d") (load "core_deprecated") (load "core_global") @@ -42,18 +40,17 @@ (defn defscreen* [{:keys [on-show on-render on-hide on-pause on-resize on-resume] - :or {on-show dummy on-render dummy on-hide dummy - on-pause dummy on-resize dummy on-resume dummy} :as options}] (let [screen (atom {}) entities (atom '()) execute-fn! (fn [func & {:keys [] :as options}] - (let [entities-list @entities] - (some->> (func (merge @screen options) entities-list) - list - flatten - (remove nil?) - (compare-and-set! entities entities-list)))) + (when func + (let [entities-list @entities] + (some->> (func (merge @screen options) entities-list) + list + flatten + (remove nil?) + (compare-and-set! entities entities-list))))) create-renderer-fn! #(swap! screen assoc :renderer (renderer %)) update-fn! #(swap! screen merge %)] {:screen screen @@ -83,10 +80,10 @@ (defonce ~n (defscreen* fns#)))) (defn defgame* - [{:keys [on-create] :or {on-create dummy}}] + [{:keys [on-create]}] (proxy [Game] [] (create [] - (on-create this)))) + (when on-create (on-create this))))) (defmacro defgame [n & {:keys [] :as options}] diff --git a/src/play_clj/core_global.clj b/src/play_clj/core_global.clj index 00182f4..7f0b28e 100644 --- a/src/play_clj/core_global.clj +++ b/src/play_clj/core_global.clj @@ -45,11 +45,7 @@ (defn- input-processor [{:keys [on-key-down on-key-typed on-key-up on-mouse-moved - on-scrolled on-touch-down on-touch-dragged on-touch-up] - :or {on-key-down dummy on-key-typed dummy - on-key-up dummy on-mouse-moved dummy - on-scrolled dummy on-touch-down dummy - on-touch-dragged dummy on-touch-up dummy}} + on-scrolled on-touch-down on-touch-dragged on-touch-up]} execute-fn!] (reify InputProcessor (keyDown [this k] @@ -78,9 +74,7 @@ false))) (defn- gesture-detector - [{:keys [on-fling on-long-press on-pan on-pan-stop on-pinch on-tap on-zoom] - :or {on-fling dummy on-long-press dummy on-pan dummy on-pan-stop dummy - on-pinch dummy on-tap dummy on-zoom dummy}} + [{:keys [on-fling on-long-press on-pan on-pan-stop on-pinch on-tap on-zoom]} execute-fn!] (let [listener (reify GestureDetector$GestureListener