156 lines
7.0 KiB
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
WidgetConfig = WidgetConfig or {}
--- 默认UI的隐藏
function WidgetConfig.HideDefaultUI()
--- 隐藏平底锅切换扔出模式
--- ShootingUI.Customize_ThrowPlus:SetAdvancedCollapsed(true)
--- local MainControlPanel = UGCWidgetManagerSystem.GetMainControlUI()
local MainControlPanel = GameBusinessManager.GetWidgetFromName(ingame, "MainControlPanelTochButton_C")
if MainControlPanel ~= nil then
local MainControlBaseUITemp = MainControlPanel.MainControlBaseUI;
MainControlBaseUITemp.Image_IngameLogo:SetVisibility(ESlateVisibility.Collapsed) --- 局内游戏Logo
MainControlBaseUITemp.Image_0:SetVisibility(ESlateVisibility.Collapsed) --- 指南针指针
MainControlBaseUITemp.NavigatorPanel:SetVisibility(ESlateVisibility.Collapsed) --- 指南针界面
MainControlBaseUITemp.SurviveInfoPanel:SetVisibility(ESlateVisibility.Collapsed) --- 存活人数
--- MainControlBaseUITemp.CanvasPanel_BackpackPanel:SetVisibility(ESlateVisibility.Collapsed) --- 背包按钮
--- MainControlBaseUITemp.CanvasPanel_HelmetArmor:SetVisibility(ESlateVisibility.Collapsed) --- 头盔、护甲按钮
MainControlBaseUITemp.CanvasPanelSurviveKill:SetVisibility(ESlateVisibility.Collapsed) --- 剩余人数、淘汰数
MainControlBaseUITemp.SignalReceivingAreaTIPS_UIBP:SetVisibility(ESlateVisibility.Collapsed) --- 信号区提示
MainControlBaseUITemp.CircleChasingProgress:SetVisibility(ESlateVisibility.Collapsed) --- 刷圈进度
MainControlBaseUITemp.IsNeedTeamPanel = false --- 不显示队友面板
MainControlBaseUITemp.CanvasPanel_BackpackPanel:AddAdvancedCollapsedCount(1) --- 背包按钮
local ShootingPanel = UGCWidgetManagerSystem.GetShootingUIPanel()
if ShootingPanel then
ShootingPanel.SwitchWeaponSlot_Mode2_C_0:SetVisibility(ESlateVisibility.Collapsed) --- 右武器栏
else
UGCLogSystem.LogError("[WidgetConfig_HideDefaultUI] ShootingPanel is nil")
end
--- MainControlBaseUITemp.ShootingUIPanel.SwitchWeaponSlot_Mode2:SetVisibility(ESlateVisibility.Collapsed) --- 右武器栏
--- MultiLayer_RightWeaponSlot
--- 折叠二号武器槽位
--- MainControlBaseUITemp.ShootingUIPanel.SwitchWeaponSlot_Mode2.Image_Selected:SetVisibility(ESlateVisibility.Collapsed)
--- MainControlBaseUITemp.ShootingUIPanel.SwitchWeaponSlot_Mode2.GridPanel_FireMode:SetVisibility(ESlateVisibility.Collapsed)
--- MainControlBaseUITemp.ShootingUIPanel.SwitchWeaponSlot_Mode2.MultiLayer_Pistol:SetVisibility(ESlateVisibility.Collapsed)
--- local ShootingUIPanel = MainControlPanel.ShootingUIPanel
--- ShootingUIPanel:SetVisibility(ESlateVisibility.Collapsed) ---不显示战斗界面
end
--- UGCWidgetManagerSystem.LoadLobbyChatFrameUI() --- 加载大厅聊天框UI
end
WidgetConfig.EUILayerGroup = {
Negative = -1,
Least = 0,
Bottom = 1,
Low = 2,
Low_Add1 = 3,
MainUI = 10003,
Medium = 10004,
High = 10005,
Top = 10006,
Toppest = 10007,
Notice = 10008,
}
WidgetConfig.EUIType = {
Default = 0,
WaitingTime = 1, --- 等待时间
Ranking = 2, --- 排行榜单
Settlement = 3, --- 结算界面
InsufficientNumberOfPeople = 4, --- 人数不足
InvincibleTime = 5, --- 无敌时间
DamageAnim = 6, --- 给予伤害后的动画
KillInfo = 7, --- 击杀信息
Guide = 8, --- 玩法说明
FightPanel = 9, --- 战斗界面
SceneItemGuide = 10, --- 机关导航
}
WidgetConfig.Configs = {
[WidgetConfig.EUIType.WaitingTime] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/GamePreparation/W_GamePreparation.W_GamePreparation_C'),
Layer = WidgetConfig.EUILayerGroup.Top,
ShowOnce = false,
},
[WidgetConfig.EUIType.Ranking] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/Rank/WB_TeamRank.WB_TeamRank_C'),
Layer = WidgetConfig.EUILayerGroup.Low_Add1,
ShowOnce = false,
},
[WidgetConfig.EUIType.Settlement] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/Settlement/WB_TeamSettlement.WB_TeamSettlement_C'),
Layer = WidgetConfig.EUILayerGroup.MainUI,
ShowOnce = false,
},
[WidgetConfig.EUIType.InsufficientNumberOfPeople] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/WB_GameUnableToStart.WB_GameUnableToStart_C'),
Layer = WidgetConfig.EUILayerGroup.Top,
ShowOnce = false,
},
[WidgetConfig.EUIType.InvincibleTime] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/W_InvincibleTime.W_InvincibleTime_C'),
Layer = WidgetConfig.EUILayerGroup.Low,
ShowOnce = false,
},
[WidgetConfig.EUIType.DamageAnim] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/W_DamageAnim.W_DamageAnim_C'),
Layer = WidgetConfig.EUILayerGroup.Low,
ShowOnce = false,
},
[WidgetConfig.EUIType.Guide] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/Guide/WB_Guide.WB_Guide_C'),
Layer = WidgetConfig.EUILayerGroup.High,
ShowOnce = false,
},
[WidgetConfig.EUIType.FightPanel] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/FightPanel/WB_FightPanel.WB_FightPanel_C'),
Layer = WidgetConfig.EUILayerGroup.Low,
ShowOnce = false,
},
[WidgetConfig.EUIType.SceneItemGuide] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/Guide/WB_SceneItemGuide_2.WB_SceneItemGuide_2_C'),
Layer = WidgetConfig.EUILayerGroup.Medium,
ShowOnce = false,
},
}
function WidgetConfig.GetWidgetPathFromUIType(UIType)
if not WidgetConfig.CheckUIType(UIType) then return end
return WidgetConfig.Configs[UIType].Widget
end
function WidgetConfig.GetWidgetLayer(UIType)
if not WidgetConfig.CheckUIType(UIType) then return end
return WidgetConfig.Configs[UIType].Layer
end
function WidgetConfig.GetWidgetShowOnce(UIType)
if not WidgetConfig.CheckUIType(UIType) then return end
return WidgetConfig.Configs[UIType].ShowOnce
end
function WidgetConfig.CheckUIType(UIType)
return (WidgetConfig.Configs[UIType] ~= nil)
end
function WidgetConfig.GetAllWidgetTypeFromLayer(Layer)
local Res = {}
for UIType, _ in pairs(WidgetConfig.Configs) do
if WidgetConfig.GetWidgetLayer(UIType) == Layer then
Res[#Res + 1] = UIType
end
end
return Res
end