Add directional sticky and skewer box variants

This commit is contained in:
Your Name 2026-08-11 15:07:11 -04:00
parent c3f5aafd77
commit f549eaf523
13 changed files with 723 additions and 101 deletions

View file

@ -233,6 +233,9 @@ local function rebuildAssetSearchButtons()
for color, location in pairs(gameAssets[asset].sprites) do sprites[color] = love.graphics.newImage(location) end
table.insert(assetSearchButtons, createUIElement{
sprites = sprites,
goopy = gameAssets[asset].goopy,
skewer = gameAssets[asset].skewer,
cells = gameAssets[asset].cells,
name = "asset",
text = asset,
x = 30,
@ -529,13 +532,18 @@ function selectFolder(folder)
-- each frame from the list section (see buildRoomLayout).
table.insert(assetListButtons, createUIElement{
sprites = sprites,
goopy = gameAssets[asset].goopy,
skewer = gameAssets[asset].skewer,
cells = gameAssets[asset].cells,
name = "asset",
text = asset,
x = 30,
y = 0,
onClic = {
left = function() selectAsset(asset) end,
right = function() editAsset(asset) end,
right = function()
if not gameAssets[asset].synthetic then editAsset(asset) end
end,
}
})
end
@ -592,6 +600,9 @@ function editAsset(asset)
local assetButton = createUIElement{
name = asset,
sprites = assetSprites,
goopy = assetProperties.goopy,
skewer = assetProperties.skewer,
cells = assetProperties.cells,
x = sb.w / 2 - 18,
y = 80,
}

View file

@ -9,6 +9,9 @@ function GUI:initialize(t)
self.offset = {x = 0, y = 0}
self.name = t.name
self.text = t.text
self.goopy = t.goopy or false
self.skewer = t.skewer or false
self.cells = t.cells
if not t.onClic then
t.onClic = {}
@ -99,7 +102,13 @@ function GUI:draw()
if self.sprites then
for color, sprite in pairs(self.sprites) do
love.graphics.setColor(gColor[color]:set())
love.graphics.draw(sprite, box.x, box.y, 0, self.scale, self.scale)
if self.goopy and drawGoopySprite then
drawGoopySprite(sprite, box.x, box.y, self.scale)
elseif self.skewer and drawSkewerSprite then
drawSkewerSprite(sprite, self.cells and self.cells[color], box.x, box.y, self.scale)
else
love.graphics.draw(sprite, box.x, box.y, 0, self.scale, self.scale)
end
end
end

View file

@ -1,5 +1,7 @@
require "libs/TSerial"
local BoxVariants = require "box_variants"
local targetFolder = "art"
local reanalyzeCells = true
@ -57,5 +59,5 @@ function getAllAssets()
end
end
return globalAssetProperties
return BoxVariants.addTo(globalAssetProperties)
end