43 lines
1.2 KiB
Lua
43 lines
1.2 KiB
Lua
local CookingSlot = {}
|
|
local CookManager = require("GamePlay.CookSystem.CookManager")
|
|
local Utils = require("GamePlay.Utils")
|
|
local ESlateVisibility = import("ESlateVisibility")
|
|
function CookingSlot:ctor()
|
|
self.material = "500001"
|
|
end
|
|
|
|
function CookingSlot:OnInitialized()
|
|
self.MainBtn.OnClicked:Add(function()
|
|
CookManager:AddCookMaterial(self.material)
|
|
self:ConsumeMaterial()
|
|
end)
|
|
self:SetCookMaterial("400009")
|
|
end
|
|
|
|
function CookingSlot:SetCookMaterial(material)
|
|
self.material = material
|
|
self:RefreshDisplay()
|
|
end
|
|
|
|
function CookingSlot:SetEmpty()
|
|
self.CookingMaterialImg:SetVisibility(ESlateVisibility.Collapsed)
|
|
end
|
|
|
|
function CookingSlot:RefreshDisplay()
|
|
self:SetEmpty()
|
|
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)
|
|
end
|
|
|
|
function CookingSlot:ConsumeMaterial()
|
|
if self.material == nil then return end
|
|
local item = self.material
|
|
self:SetCookMaterial(nil)
|
|
return item
|
|
end
|
|
|
|
|
|
return Class(nil, nil, CookingSlot) |