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