41 lines
		
	
	
		
			1003 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			1003 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| 
								 | 
							
								local UILayerManager = {}
							 | 
						||
| 
								 | 
							
								local EWidgetLayoutType = import("EWidgetLayoutType")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function UILayerManager:ctor()
							 | 
						||
| 
								 | 
							
								    self.layer_mapping = {}
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function UILayerManager:OnInitialized()
							 | 
						||
| 
								 | 
							
								    self.layer_mapping = {
							 | 
						||
| 
								 | 
							
								        [EWidgetLayoutType.MainLayer] = self.MainLayer,
							 | 
						||
| 
								 | 
							
								        [EWidgetLayoutType.PopupLayer] = self.PopupLayer,
							 | 
						||
| 
								 | 
							
								        [EWidgetLayoutType.FloatLayer] = self.FloatLayer,
							 | 
						||
| 
								 | 
							
								        [EWidgetLayoutType.TopLayer] = self.TopLayer,
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function UILayerManager:ShowWidget(widget, args)
							 | 
						||
| 
								 | 
							
								    local layer = self.layer_mapping[widget.LayoutType]
							 | 
						||
| 
								 | 
							
								    if layer == nil then
							 | 
						||
| 
								 | 
							
								        return
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								    layer:AddChild(widget)
							 | 
						||
| 
								 | 
							
								    if widget.Refresh then
							 | 
						||
| 
								 | 
							
								        widget:Refresh(args)
							 | 
						||
| 
								 | 
							
								    end
							 | 
						||
| 
								 | 
							
								    widget.Slot:SetVerticalAlignment(0)
							 | 
						||
| 
								 | 
							
								    widget.Slot:SetHorizontalAlignment(0)
							 | 
						||
| 
								 | 
							
								    widget:SetVisible(true)
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function UILayerManager:HideWidget(widget)
							 | 
						||
| 
								 | 
							
								    widget:SetVisible(false)
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function UILayerManager:CloseWidget(widget)
							 | 
						||
| 
								 | 
							
								    widget:SetVisible(false)
							 | 
						||
| 
								 | 
							
								end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								return Class(nil, nil, UILayerManager)
							 |