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) |