2025-01-04 23:00:19 +08:00

193 lines
8.6 KiB
Lua

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 MainControlBaseUI = MainControlPanel.MainControlBaseUI;
--MainControlBaseUI.Ingame_TeamPanel_BP:SetVisibility(ESlateVisibility.Visible);
MainControlBaseUI.Image_IngameLogo:SetVisibility(ESlateVisibility.Collapsed) --- 局内游戏Logo
MainControlBaseUI.Image_0:SetVisibility(ESlateVisibility.Collapsed) --- 指南针指针
MainControlBaseUI.NavigatorPanel:SetVisibility(ESlateVisibility.Collapsed) --- 指南针界面
MainControlBaseUI.SurviveInfoPanel:SetVisibility(ESlateVisibility.Collapsed) --- 存活人数
--- MainControlBaseUI.CanvasPanel_BackpackPanel:SetVisibility(ESlateVisibility.Collapsed) --- 背包按钮
--- MainControlBaseUI.CanvasPanel_HelmetArmor:SetVisibility(ESlateVisibility.Collapsed) --- 头盔、护甲按钮
MainControlBaseUI.CanvasPanelSurviveKill:SetVisibility(ESlateVisibility.Collapsed) --- 剩余人数、淘汰数
MainControlBaseUI.SignalReceivingAreaTIPS_UIBP:SetVisibility(ESlateVisibility.Collapsed) --- 信号区提示
MainControlBaseUI.CircleChasingProgress:SetVisibility(ESlateVisibility.Collapsed) --- 刷圈进度
-- MainControlBaseUI.IsNeedTeamPanel = true --- 不显示队友面板
-- MainControlBaseUI.CanvasPanel_BackpackPanel:AddAdvancedCollapsedCount(1) --- 背包按钮
-- MainControlBaseUI.Ingame_TeamPanelNew_BP
-- MainControlBaseUI.Ingame_TeamPanel_BP:SetVisibility(ESlateVisibility.Visible); --- 显示队友血量等信息
MainControlBaseUI.ChangeSight_UIBP.CanvasPanel_Sight:SetVisibility(ESlateVisibility.Visible);
local ShootingPanel = UGCWidgetManagerSystem.GetShootingUIPanel()
if ShootingPanel then
-- ShootingPanel.SwitchWeaponSlot_Mode2_C_0:SetVisibility(ESlateVisibility.Collapsed) --- 右武器栏
else
UGCLogSystem.LogError("[WidgetConfig_HideDefaultUI] ShootingPanel is nil")
end
--- 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,
Guide = 10006,
Top = 10007,
Toppest = 10008,
Notice = 10009,
}
WidgetConfig.EUIType = {
Default = 0,
WaitingTime = 1, --- 等待时间
Ranking = 2, --- 排行榜单
Settlement = 3, --- 结算界面
InsufficientNumberOfPeople = 4, --- 人数不足
InvincibleTime = 5, --- 无敌时间
DamageAnim = 6, --- 给予伤害后的动画
KillInfo = 7, --- 击杀信息
Guide = 8, --- 玩法说明
FightPanel = 9, --- 战斗界面
HookTrace = 10, --- 抓钩准星
Winner = 11, --- 胜利方
Shop = 12, --- 武器购买
Key = 13, --- 追踪的钥匙
KeyMapSetting = 14, --- 键位设置
RoundReady = 15, --- 回合准备时间
KeyMapSettingBG = 16, --- 键位设置的背景,为的是可以看到其他键位
}
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.Top,
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.Guide,
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.HookTrace] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/Hook/WB_HookTraceMove.WB_HookTraceMove_C'),
Layer = WidgetConfig.EUILayerGroup.Low,
ShowOnce = false,
},
[WidgetConfig.EUIType.Winner] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/Round/WB_RoundFinish.WB_RoundFinish_C'),
Layer = WidgetConfig.EUILayerGroup.MainUI,
ShowOnce = false,
},
[WidgetConfig.EUIType.Shop] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/Shop/W_WeaponShop.W_WeaponShop_C'),
Layer = WidgetConfig.EUILayerGroup.High,
ShowOnce = false,
},
[WidgetConfig.EUIType.Key] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/Blueprint/SceneKey/WB_TraceTarget.WB_TraceTarget_C'),
Layer = WidgetConfig.EUILayerGroup.MainUI,
ShowOnce = false,
},
[WidgetConfig.EUIType.KeyMapSetting] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/FightPanel/KeyMapSetting/WB_KeyMapSetting.WB_KeyMapSetting_C'),
Layer = WidgetConfig.EUILayerGroup.Top,
ShowOnce = false,
},
[WidgetConfig.EUIType.RoundReady] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/Round/WB_RoundReady.WB_RoundReady_C'),
Layer = WidgetConfig.EUILayerGroup.Top,
ShowOnce = false,
},
[WidgetConfig.EUIType.KeyMapSettingBG] = {
Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/FightPanel/KeyMapSetting/WB_KeyMapSettingBG.WB_KeyMapSettingBG_C'),
Layer = WidgetConfig.EUILayerGroup.Negative,
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