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