Break 2d stuff into separate namespace
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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))
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user