From 57cae0c860c93887e3dcb688c68fe40dce222507 Mon Sep 17 00:00:00 2001 From: oakes Date: Thu, 3 Apr 2014 20:39:42 -0400 Subject: [PATCH] Allow creating new tiled maps, layers, and cells --- src/play_clj/core_graphics.clj | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/play_clj/core_graphics.clj b/src/play_clj/core_graphics.clj index a9b823e..3e71c0c 100644 --- a/src/play_clj/core_graphics.clj +++ b/src/play_clj/core_graphics.clj @@ -20,10 +20,12 @@ ; tiled maps (defn tiled-map* - [s] - (if (string? s) - (.load (TmxMapLoader.) s) - s)) + ([] + (TiledMap.)) + ([s] + (if (string? s) + (.load (TmxMapLoader.) s) + s))) (defmacro tiled-map "Returns a [TiledMap](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/maps/tiled/TiledMap.html). @@ -51,12 +53,14 @@ objects cooresponding to each layer in the tiled map in `screen`. (.get layers i)))) (defn tiled-map-layer* - [screen layer] - (if (isa? (type layer) MapLayer) - layer - (->> (tiled-map-layers screen) - (drop-while #(not= layer (.getName ^MapLayer %))) - first))) + ([width height tile-width tile-height] + (TiledMapTileLayer. width height tile-width tile-height)) + ([screen layer] + (if (isa? (type layer) MapLayer) + layer + (->> (tiled-map-layers screen) + (drop-while #(not= layer (.getName ^MapLayer %))) + first)))) (defmacro tiled-map-layer "Returns a [TiledMapTileLayer](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/maps/tiled/TiledMapTileLayer.html) @@ -83,8 +87,10 @@ tiled map in `screen`." (tiled-map-layer! layer :get-name))) (defn tiled-map-cell* - [screen layer x y] - (.getCell ^TiledMapTileLayer (tiled-map-layer screen layer) x y)) + ([] + (TiledMapTileLayer$Cell.)) + ([screen layer x y] + (.getCell ^TiledMapTileLayer (tiled-map-layer screen layer) x y))) (defmacro tiled-map-cell "Returns a [TiledMapTileLayer.Cell](http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/maps/tiled/TiledMapTileLayer.Cell.html)