42 lines
930 B
Lua
42 lines
930 B
Lua
|
|
local CookingSlot = {}
|
||
|
|
local Emitter = require("Utils.Emitter")
|
||
|
|
local ESlateVisibility = import("ESlateVisibility")
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
function CookingSlot:ctor()
|
||
|
|
self.cook_item = nil
|
||
|
|
end
|
||
|
|
|
||
|
|
function CookingSlot:OnInitialized()
|
||
|
|
self.MainBtn.OnClicked:Add(function()
|
||
|
|
Emitter.EmitEvent("cook_slot_clicked", self)
|
||
|
|
end)
|
||
|
|
end
|
||
|
|
|
||
|
|
function CookingSlot:SetCookMaterial(cook_item)
|
||
|
|
self.cook_item = cook_item
|
||
|
|
self:RefreshDisplay()
|
||
|
|
end
|
||
|
|
|
||
|
|
function CookingSlot:SetEmpty()
|
||
|
|
self.CookingMaterialImg:SetVisibility(ESlateVisibility.Collapsed)
|
||
|
|
end
|
||
|
|
|
||
|
|
function CookingSlot:RefreshDisplay()
|
||
|
|
self:SetEmpty()
|
||
|
|
if self.cook_item then
|
||
|
|
self.CookingMaterialImg:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
function CookingSlot:ConsumeMaterial()
|
||
|
|
-- if self.cook_item == nil then return end
|
||
|
|
local item = self.cook_item
|
||
|
|
self:SetCookMaterial(nil)
|
||
|
|
return item
|
||
|
|
end
|
||
|
|
|
||
|
|
|
||
|
|
return Class(nil, nil, CookingSlot)
|