elements: changed crafting preview to buttons - in preparation to recipes navigation

This commit is contained in:
Alexander Weber 2017-04-30 21:48:15 +02:00
parent 298a87d2ce
commit 17e7b1c66b

View File

@ -14,11 +14,17 @@ function craft_preview:onCreate()
smartfs._edef.container.onCreate(self) smartfs._edef.container.onCreate(self)
for x = 1, 3 do for x = 1, 3 do
for y = 1, 3 do for y = 1, 3 do
self._state:item_image( local button = self._state:image_button(
(x-1)*self.data.zoom+self.data.pos.x, (x-1)*self.data.zoom+self.data.pos.x,
(y-1)*self.data.zoom+self.data.pos.y, (y-1)*self.data.zoom+self.data.pos.y,
self.data.zoom, self.data.zoom, self.data.zoom, self.data.zoom,
"craft:"..x..":"..y,nil):setVisible(false) "craft:"..x..":"..y,"")
button:setVisible(false)
button:onClick(function(self, state, player)
if state._click then
state._click(state, self.data.item, player)
end
end)
end end
end end
if self.data.recipe then if self.data.recipe then
@ -26,6 +32,10 @@ function craft_preview:onCreate()
end end
end end
function craft_preview:onButtonClick(func)
self._click = func
end
-- Update fields -- Update fields
function craft_preview:setCraft(craft) function craft_preview:setCraft(craft)
for x = 1, 3 do for x = 1, 3 do
@ -42,12 +52,12 @@ function craft_preview:setCraft(craft)
item = craft.items[(y-1)*craft.width+x] item = craft.items[(y-1)*craft.width+x]
end end
end end
local img = self._state:get("craft:"..x..":"..y) local btn = self._state:get("craft:"..x..":"..y)
if item then if item then
img:setImage(item) btn:setItem(item)
img:setVisible(true) btn:setVisible(true)
else else
img:setVisible(false) btn:setVisible(false)
end end
end end
end end