:tilemaps as vector

This commit is contained in:
Joseph Ferano 2026-08-29 06:05:11 +07:00
parent 0206708ad7
commit e65685aec8

View File

@ -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)