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
|
(:import [com.badlogic.gdx Application Audio Files Game Gdx Graphics Input
|
||||||
InputMultiplexer InputProcessor Net Screen]
|
InputMultiplexer InputProcessor Net Screen]
|
||||||
[com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera
|
[com.badlogic.gdx.graphics Camera Color GL20 OrthographicCamera
|
||||||
PerspectiveCamera Texture]
|
PerspectiveCamera]
|
||||||
[com.badlogic.gdx.graphics.g2d Animation SpriteBatch TextureRegion]
|
|
||||||
[com.badlogic.gdx.input GestureDetector
|
[com.badlogic.gdx.input GestureDetector
|
||||||
GestureDetector$GestureListener]
|
GestureDetector$GestureListener]
|
||||||
[com.badlogic.gdx.maps MapLayer MapLayers]
|
[com.badlogic.gdx.maps MapLayer MapLayers]
|
||||||
@@ -20,9 +19,8 @@
|
|||||||
OrthogonalTiledMapRenderer]
|
OrthogonalTiledMapRenderer]
|
||||||
[com.badlogic.gdx.scenes.scene2d Actor Stage]))
|
[com.badlogic.gdx.scenes.scene2d Actor Stage]))
|
||||||
|
|
||||||
(load "core_2d")
|
|
||||||
(load "core_global")
|
(load "core_global")
|
||||||
(load "core_render")
|
(load "core_graphics")
|
||||||
|
|
||||||
(defn ^:private reset-if-changed!
|
(defn ^:private reset-if-changed!
|
||||||
[e-atom e-old e-new]
|
[e-atom e-old e-new]
|
||||||
|
|||||||
@@ -52,19 +52,6 @@
|
|||||||
[object k & options]
|
[object k & options]
|
||||||
`(u/call! ^TiledMapTileLayer$Cell ~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
|
; renderers
|
||||||
|
|
||||||
(defn orthogonal-tiled-map*
|
(defn orthogonal-tiled-map*
|
||||||
@@ -125,6 +112,19 @@
|
|||||||
[]
|
[]
|
||||||
(Stage.))
|
(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
|
(defmacro stage
|
||||||
[& options]
|
[& options]
|
||||||
`(u/calls! ^Stage (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
|
; drawing
|
||||||
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
(ns play-clj.ui
|
(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]
|
(:import [com.badlogic.gdx Files Gdx]
|
||||||
[com.badlogic.gdx.graphics Color Texture]
|
[com.badlogic.gdx.graphics Color Texture]
|
||||||
[com.badlogic.gdx.graphics.g2d BitmapFont TextureRegion]
|
[com.badlogic.gdx.graphics.g2d BitmapFont TextureRegion]
|
||||||
@@ -14,6 +15,9 @@
|
|||||||
TiledDrawable]
|
TiledDrawable]
|
||||||
[com.esotericsoftware.tablelayout Cell]))
|
[com.esotericsoftware.tablelayout Cell]))
|
||||||
|
|
||||||
|
; temporary inclusion to prevent breaking the template
|
||||||
|
(defonce draw! g2d/draw!)
|
||||||
|
|
||||||
(defmacro drawable
|
(defmacro drawable
|
||||||
[type & options]
|
[type & options]
|
||||||
`(~(symbol (str u/main-package ".scenes.scene2d.ui."
|
`(~(symbol (str u/main-package ".scenes.scene2d.ui."
|
||||||
|
|||||||
Reference in New Issue
Block a user