From f4ba68130381c6de8841c9bbb866e668cb961ef2 Mon Sep 17 00:00:00 2001 From: oakes Date: Wed, 15 Jan 2014 23:21:26 -0500 Subject: [PATCH] Break 2d stuff into separate namespace --- src/play_clj/core.clj | 6 ++--- .../{core_render.clj => core_graphics.clj} | 26 +++++++++---------- src/play_clj/{core_2d.clj => g2d.clj} | 7 ++++- src/play_clj/ui.clj | 6 ++++- 4 files changed, 26 insertions(+), 19 deletions(-) rename src/play_clj/{core_render.clj => core_graphics.clj} (100%) rename src/play_clj/{core_2d.clj => g2d.clj} (88%) diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index 0ba98ac..f09af1e 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -5,8 +5,7 @@ (:import [com.badlogic.gdx Application Audio Files Game Gdx Graphics Input InputMultiplexer InputProcessor Net Screen] [com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera - PerspectiveCamera Texture] - [com.badlogic.gdx.graphics.g2d Animation SpriteBatch TextureRegion] + PerspectiveCamera] [com.badlogic.gdx.input GestureDetector GestureDetector$GestureListener] [com.badlogic.gdx.maps MapLayer MapLayers] @@ -20,9 +19,8 @@ OrthogonalTiledMapRenderer] [com.badlogic.gdx.scenes.scene2d Actor Stage])) -(load "core_2d") (load "core_global") -(load "core_render") +(load "core_graphics") (defn ^:private reset-if-changed! [e-atom e-old e-new] diff --git a/src/play_clj/core_render.clj b/src/play_clj/core_graphics.clj similarity index 100% rename from src/play_clj/core_render.clj rename to src/play_clj/core_graphics.clj index 68d7ca9..eb373e3 100644 --- a/src/play_clj/core_render.clj +++ b/src/play_clj/core_graphics.clj @@ -52,19 +52,6 @@ [object k & options] `(u/call! ^TiledMapTileLayer$Cell ~object ~k ~@options)) -(defn ^:private refresh-renderer! - [{:keys [renderer ui-listeners]} entities] - (when (isa? (type renderer) Stage) - (doseq [^Actor a (.getActors ^Stage renderer)] - (.remove a)) - (doseq [{:keys [object]} entities] - (when (isa? (type object) Actor) - (.addActor ^Stage renderer object) - (doseq [listener ui-listeners] - (.addListener ^Actor object listener)))) - (remove-input! renderer) - (add-input! renderer))) - ; renderers (defn orthogonal-tiled-map* @@ -125,6 +112,19 @@ [] (Stage.)) +(defn ^:private refresh-renderer! + [{:keys [renderer ui-listeners]} entities] + (when (isa? (type renderer) Stage) + (doseq [^Actor a (.getActors ^Stage renderer)] + (.remove a)) + (doseq [{:keys [object]} entities] + (when (isa? (type object) Actor) + (.addActor ^Stage renderer object) + (doseq [listener ui-listeners] + (.addListener ^Actor object listener)))) + (remove-input! renderer) + (add-input! renderer))) + (defmacro stage [& options] `(u/calls! ^Stage (stage*) ~@options)) diff --git a/src/play_clj/core_2d.clj b/src/play_clj/g2d.clj similarity index 88% rename from src/play_clj/core_2d.clj rename to src/play_clj/g2d.clj index d81c628..f51828a 100644 --- a/src/play_clj/core_2d.clj +++ b/src/play_clj/g2d.clj @@ -1,4 +1,9 @@ -(in-ns 'play-clj.core) +(ns play-clj.g2d + (:require [play-clj.utils :as u]) + (:import [com.badlogic.gdx.graphics Texture] + [com.badlogic.gdx.graphics.g2d Animation SpriteBatch TextureRegion] + [com.badlogic.gdx.maps.tiled.renderers BatchTiledMapRenderer] + [com.badlogic.gdx.scenes.scene2d Actor Stage])) ; drawing diff --git a/src/play_clj/ui.clj b/src/play_clj/ui.clj index 17bc12c..31955a4 100644 --- a/src/play_clj/ui.clj +++ b/src/play_clj/ui.clj @@ -1,5 +1,6 @@ (ns play-clj.ui - (:require [play-clj.utils :as u]) + (:require [play-clj.g2d :as g2d] + [play-clj.utils :as u]) (:import [com.badlogic.gdx Files Gdx] [com.badlogic.gdx.graphics Color Texture] [com.badlogic.gdx.graphics.g2d BitmapFont TextureRegion] @@ -14,6 +15,9 @@ TiledDrawable] [com.esotericsoftware.tablelayout Cell])) +; temporary inclusion to prevent breaking the template +(defonce draw! g2d/draw!) + (defmacro drawable [type & options] `(~(symbol (str u/main-package ".scenes.scene2d.ui."