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)