Files
BusyRabbit/Content/Lua/HomeLand/UI/Hearth/Widgets/CookingSlot.lua

43 lines
1.2 KiB
Lua
Raw Normal View History

2025-08-01 00:33:26 +08:00
local CookingSlot = {}
2025-08-07 00:15:18 +08:00
local CookManager = require("GamePlay.CookSystem.CookManager")
local Utils = require("GamePlay.Utils")
2025-08-01 00:33:26 +08:00
local ESlateVisibility = import("ESlateVisibility")
function CookingSlot:ctor()
2025-08-07 00:15:18 +08:00
self.material = "500001"
2025-08-01 00:33:26 +08:00
end
function CookingSlot:OnInitialized()
self.MainBtn.OnClicked:Add(function()
2025-08-07 00:15:18 +08:00
CookManager:AddCookMaterial(self.material)
self:ConsumeMaterial()
2025-08-01 00:33:26 +08:00
end)
2025-08-07 00:15:18 +08:00
self:SetCookMaterial("400009")
2025-08-01 00:33:26 +08:00
end
2025-08-07 00:15:18 +08:00
function CookingSlot:SetCookMaterial(material)
self.material = material
2025-08-01 00:33:26 +08:00
self:RefreshDisplay()
end
function CookingSlot:SetEmpty()
self.CookingMaterialImg:SetVisibility(ESlateVisibility.Collapsed)
end
function CookingSlot:RefreshDisplay()
self:SetEmpty()
2025-08-07 00:15:18 +08:00
if not self.material then return end
local config = Utils.GetHomelandItemDesc(self.material)
if config == nil then return end
self.CookingMaterialImg:SetBrushFromSoftTexture(config.DisplayResource, true)
self.CookingMaterialImg:SetVisibility(ESlateVisibility.SelfHitTestInvisible)
2025-08-01 00:33:26 +08:00
end
function CookingSlot:ConsumeMaterial()
2025-08-07 00:15:18 +08:00
if self.material == nil then return end
local item = self.material
2025-08-01 00:33:26 +08:00
self:SetCookMaterial(nil)
return item
end
return Class(nil, nil, CookingSlot)