heroes-of-nerevelon/lib/level/procedural.lua

22 lines
710 B
Lua

--- @alias Procedural "flower_plains"
--- @param template Procedural
local function new(template, size)
local map = {}
-- паттерн-матчинг для самых маленьких
if template == "flower_plains" then
local tileMap = require("lib.level.tileMap").load(Tree.assets.files.tiles.grass)
for y = 0, size.y - 1 do
for x = 0, size.x - 1 do
local type = tileMap.map["flower_grass"]
--- @type Tile
local tile = type[math.random(1, #type)]:copyWith({ position = Vec3 { x, y } })
map[tostring(tile.position)] = tile
end
end
end
return map
end
return { new = new }