Don't convert coordinates for non-isometric screens
This commit is contained in:
@@ -377,12 +377,20 @@ specify which layers to render with or without
|
|||||||
(int (.getTileWidth layer))
|
(int (.getTileWidth layer))
|
||||||
(int (.getTileHeight layer))))
|
(int (.getTileHeight layer))))
|
||||||
|
|
||||||
|
(defn ^:private isometric?
|
||||||
|
"Internal use only"
|
||||||
|
[{:keys [renderer] :as screen}]
|
||||||
|
(or (isa? (type renderer) IsometricTiledMapRenderer)
|
||||||
|
(isa? (type renderer) IsometricStaggeredTiledMapRenderer)))
|
||||||
|
|
||||||
(defn ^:private split-layer
|
(defn ^:private split-layer
|
||||||
"Internal use only"
|
"Internal use only"
|
||||||
[screen layer-name]
|
[screen layer-name]
|
||||||
(let [^TiledMapTileLayer l (tiled-map-layer screen layer-name)]
|
(let [^TiledMapTileLayer l (tiled-map-layer screen layer-name)]
|
||||||
(reduce (fn [layers {:keys [x y] :as map-tile}]
|
(reduce (fn [layers {:keys [x y] :as map-tile}]
|
||||||
(let [screen-tile (isometric->screen screen map-tile)
|
(let [screen-tile (if (isometric? screen)
|
||||||
|
(isometric->screen screen map-tile)
|
||||||
|
map-tile)
|
||||||
new-layer (or (->> layers (filter #(= y (:y %))) first)
|
new-layer (or (->> layers (filter #(= y (:y %))) first)
|
||||||
(assoc screen-tile :layer (create-layer l)))]
|
(assoc screen-tile :layer (create-layer l)))]
|
||||||
(->> (tiled-map-layer! l :get-cell x y)
|
(->> (tiled-map-layer! l :get-cell x y)
|
||||||
|
|||||||
Reference in New Issue
Block a user