From e65685aec8bf3e7c5608a4a3355e993ca47ef93f Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 29 Aug 2026 06:05:11 +0700 Subject: [PATCH] :tilemaps as vector --- src/game.clj | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/game.clj b/src/game.clj index b3f4af4..b841c40 100644 --- a/src/game.clj +++ b/src/game.clj @@ -153,7 +153,7 @@ (defn set-random-tile! [game layer row col] (let [tile (edge-set (tile-bitset game layer row col)) - tilemap (second (get (vec (:tilemaps game)) (:current-tilemap game)))] + tilemap (get (:tilemaps game) (:current-tilemap game))] (if (vector? tile) (set-tile! game layer row col [tilemap tile]) (set-tile! game layer row col @@ -177,7 +177,7 @@ (set-random-tile! game l r c))))) (defn handle-game-input [config game] - (update-as-> [game game] + (update-as-> [g game] (assoc g :event-queue []) (cond-> g @@ -245,14 +245,15 @@ (draw-tile! game tilemap tx ty (* col cell-size scale) (* row cell-size scale) scale)))) (when (not (contains? game :draw-drag)) (let [{mx :x my :y :as mouse-pos} (rl/get-mouse-position)] - (draw-tile! game (get (:tilemaps game) :grass-hill) 3 3 mx my scale))) + ;; TODO: Maybe better if we create a get-tilemap-by-name + (draw-tile! game (get (:tilemaps game) 0) 3 3 mx my scale))) #_(rl/draw-texture-pro!* (:seg (:bush (:tilemaps game))) (rl/rect-seg 0 0 54 35) (rl/rect-seg 600 180 (* 54 2) (* 35 2)) (rl/vec2-seg 0 0) (float 0.0) rl/white) (when (:editor-mode game) (rl/draw-rectangle-lines-ex!* (rl/rect-seg 0 0 screen-width screen-height) 5.0 rl/green) - (doseq [[idx [k {:keys [width height seg]}]] (map-indexed vector (:tilemaps game)) + (doseq [[idx [k {:keys [width height seg]}]] (into [] (map-indexed vector) (:tilemaps game)) :let [padding 10]] (rl/draw-texture-pro!* seg (rl/rect-seg 0 0 width height)