WidgetConfig = WidgetConfig or {} --- 默认UI的隐藏 function WidgetConfig.HideDefaultUI() --- 隐藏平底锅切换扔出模式 --- ShootingUI.Customize_ThrowPlus:SetAdvancedCollapsed(true) --- local MainControlPanel = UGCWidgetManagerSystem.GetMainControlUI() local MainControlPanel = GameBusinessManager.GetWidgetFromName(ingame, "MainControlPanelTochButton_C") local TeamPlane = GameBusinessManager.GetWidgetFromName(ingame, "Ingame_TeamPanelNew_BP_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_MiniMapAndSetting:SetAdvancedCollapsed(ESlateVisibility.Collapsed); --小地图 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:SetVisibility(ESlateVisibility.Collapsed) --- 左武器栏 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 if TeamPlane then TeamPlane:SetVisibility(ESlateVisibility.Visible); else UGCLogSystem.LogError("[WidgetConfig_HideDefaultUI] TeamPlane is nil") 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, --- 键位设置的背景,为的是可以看到其他键位 -- MiniGameUI DefaultMiniGame = 101, --- 小玩法默认长期加载的UI MiniGameLoading = 102, --- 小玩法的等待界面 MiniGameFinish = 103, --- 小玩法结束,进行回合结算 MiniGameReady = 104, --- 小玩法准备阶段 ShootingTarget = 111, --- 小玩法标靶UI MiniGameAllPlayerScore = 112, --- 小玩法泛用玩家得分 ColorScore = 113, --- 颜色得分 PlayerHeight = 114, --- 玩家的高度 CompetitionResponse = 115, --- 玩家反应速度玩法 UIGameBG = 116, --- UI玩法的背景 Jigsaw = 117, --- 拼图玩法界面 CountingHeart = 118, --- 数心形玩法界面 } -- 互斥UIType WidgetConfig.MutuallyExclusiveUI = { WidgetConfig.EUIType.MiniGameFinish, WidgetConfig.EUIType.MiniGameLoading, WidgetConfig.EUIType.ShootingTarget, WidgetConfig.EUIType.MiniGameAllPlayerScore, WidgetConfig.EUIType.ColorScore, WidgetConfig.EUIType.PlayerHeight, WidgetConfig.EUIType.CompetitionResponse, WidgetConfig.EUIType.Jigsaw, WidgetConfig.EUIType.CountingHeart, } -- 含可设置位置的Widget WidgetConfig.CustomWidget = { WidgetConfig.EUIType.Jigsaw } function WidgetConfig.AllPCSetMutuallyExclusiveUI(UIType, Params) local AllPC = UGCGameSystem.GetAllPlayerController() AllPC:SetMutuallyExclusiveUI(UIType, Params) end WidgetConfig.Configs = { [WidgetConfig.EUIType.WaitingTime] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameSelect/WB_SelectMiniGame.WB_SelectMiniGame_C'), Layer = WidgetConfig.EUILayerGroup.Top, ShowOnce = true, }, --[WidgetConfig.EUIType.Ranking] = { -- Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/Rank/WB_TeamRank.WB_TeamRank_C'), -- Layer = WidgetConfig.EUILayerGroup.Low_Add1, -- ShowOnce = false, --}, [WidgetConfig.EUIType.InsufficientNumberOfPeople] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/WB_GameUnableToStart.WB_GameUnableToStart_C'), Layer = WidgetConfig.EUILayerGroup.Top, ShowOnce = true, }, [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, --}, [WidgetConfig.EUIType.DefaultMiniGame] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/WB_PersistentUI.WB_PersistentUI_C'), Layer = WidgetConfig.EUILayerGroup.Low_Add1, ShowOnce = false, }, [WidgetConfig.EUIType.MiniGameFinish] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameFinish/WB_MiniGameFinish.WB_MiniGameFinish_C'), Layer = WidgetConfig.EUILayerGroup.Top, ShowOnce = false, }, [WidgetConfig.EUIType.MiniGameLoading] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameLoading/WB_MiniGameLoading.WB_MiniGameLoading_C'), Layer = WidgetConfig.EUILayerGroup.Top, ShowOnce = false, }, [WidgetConfig.EUIType.MiniGameReady] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/WB_MiniGameReady.WB_MiniGameReady_C'), Layer = WidgetConfig.EUILayerGroup.Top, ShowOnce = false, }, [WidgetConfig.EUIType.Settlement] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameSettlement/WB_MiniGameSettlement.WB_MiniGameSettlement_C'), --Layer = WidgetConfig.EUILayerGroup.Top, Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = false, }, [WidgetConfig.EUIType.ShootingTarget] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameModeUI/WB_ShootingTarget.WB_ShootingTarget_C'), Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = false, }, [WidgetConfig.EUIType.MiniGameAllPlayerScore] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameModeUI/AllPlayerScore/WB_AllPlayerMiniScore.WB_AllPlayerMiniScore_C'), Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = false, }, [WidgetConfig.EUIType.ColorScore] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameModeUI/ColorScore/WB_AllPlayerColorScore.WB_AllPlayerColorScore_C'), Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = false, }, [WidgetConfig.EUIType.PlayerHeight] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameModeUI/PlayerHeight/WB_PlayerHeight.WB_PlayerHeight_C'), Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = false, }, [WidgetConfig.EUIType.CompetitionResponse] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameModeUI/CompetitionResponse/WB_CompetitionResponse.WB_CompetitionResponse_C'), Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = true, }, [WidgetConfig.EUIType.UIGameBG] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/WB_UIGameBG.WB_UIGameBG_C'), Layer = WidgetConfig.EUILayerGroup.Negative, ShowOnce = false, }, [WidgetConfig.EUIType.Jigsaw] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameModeUI/Jigsaw/WB_Jigsaw.WB_Jigsaw_C'), Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = false, }, [WidgetConfig.EUIType.CountingHeart] = { Widget = UGCGameSystem.GetUGCResourcesFullPath('Asset/UI/StatusUI/MiniGame/MiniGameModeUI/CountingHeartShaped/WB_CountingHeart.WB_CountingHeart_C'), Layer = WidgetConfig.EUILayerGroup.Low, ShowOnce = true, }, } 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