vision/planet/mapthread.lua
2022-10-15 18:12:58 +02:00

40 lines
792 B
Lua

require "vendor/math"
channel = {}
channel.tomap = love.thread.getChannel("tomap")
channel.blocks = love.thread.getChannel("blocks")
function generateMapBlock(mapWidth, mapHeight)
local block = {}
local center = math.ceil( mapWidth/2 )
local defaultWidth=8
-- Fill empty
for y=1, mapHeight do
local row = {}
for x=1, mapWidth do
table.insert(row, 0)
end
table.insert(block, row)
end
-- Draw simple road
for y=1, mapHeight do
for x=center-(defaultWidth/2), center+(defaultWidth/2) do
block[y][x] = 1
end
end
return block
end
while true do
local tomap = channel.tomap:pop()
if tomap then
if tomap.message == "generateblock" then
channel.blocks:push(generateMapBlock( tomap.width, tomap.height ))
end
end
end