local DataTableUtils = require("Utils.DataTableUtils") local Emitter = require("Utils.Emitter") local EPreCookSlotType = import("EPreCookSlotType") --- @class PreCookSlot local PreCookSlot = {} function PreCookSlot:OnInitialized() self.slot_item_id = nil self.is_slot_item_active = false self.BtnMain.OnClicked:Add(function() self:BP_EmitLuaEvent("PreCookSlotClicked") end) end function PreCookSlot:Construct() end function PreCookSlot:Destruct() end function PreCookSlot:Reset() end function PreCookSlot:GetSlotType() return self.PreCookSlotType end function PreCookSlot:GetSlotItemID() return self.slot_item_id end function PreCookSlot:SetPreCookItemID(pre_cook_item_id) self:Reset() if not pre_cook_item_id then return end local row_data = DataTableUtils.GetDataTableRow("PreCookItemConfig", pre_cook_item_id) if not row_data then return end self.SlotImg:SetBrushFromSoftTexture(row_data.DisplayResource, true) self.slot_item_id = pre_cook_item_id end function PreCookSlot:SetPreCookTool(pre_cook_tool_id) self:SetPreCookItemID(pre_cook_tool_id) end function PreCookSlot:SetPreCookContainer(pre_cook_container_id) self:SetPreCookItemID(pre_cook_container_id) end function PreCookSlot:ActiveToolSlot() self:PlayAnimation(self.Anim_UseTool, 0, 1, 0, 5, false) end function PreCookSlot:DeactiveToolSlot() self:PlayAnimation(self.Anim_UseTool, 0, 1, 1, 1, false) end function PreCookSlot:PushSlotItem() self:PlayAnimation(self.Anim_PushItem, 0, 1, 0, 1, false) end function PreCookSlot:ActiveContainerSlot() self:PlayAnimation(self.Anim_PushItem, 0, 1, 0, 1, false) end function PreCookSlot:DeactiveContianerSlot() print("PreCookSlot:DeactiveContianerSlot") self:PlayAnimation(self.Anim_PushItem, 0, 1, 1, 1, false) end return Class(nil, nil, PreCookSlot)