2024-08-06 05:52:32 -04:00
|
|
|
local f0_local0 = function(f1_arg0, f1_arg1)
|
|
|
|
Engine.Exec("xblive_privatematch 0")
|
|
|
|
utils.cp.AliensUtils.AliensRunConfig(f1_arg1.controller)
|
|
|
|
LUI.FlowManager.RequestAddMenu("SystemLinkMenu", false, f1_arg1.controller, false, {}, true)
|
2024-08-06 05:15:59 -04:00
|
|
|
end
|
|
|
|
|
2024-08-06 05:52:32 -04:00
|
|
|
local f0_local1 = function(f2_arg0, f2_arg1)
|
|
|
|
f0_local0(f2_arg0, f2_arg1)
|
2024-08-06 05:15:59 -04:00
|
|
|
end
|
|
|
|
|
2024-08-06 05:52:32 -04:00
|
|
|
local f0_local2 = function(f3_arg0, f3_arg1)
|
|
|
|
Engine.Exec(MPConfig.default_xboxlive, f3_arg1.controller)
|
|
|
|
Engine.SetDvarBool("xblive_privatematch", true)
|
|
|
|
SetIsAliensSolo(true)
|
|
|
|
Engine.SetDvarInt("party_maxplayers", 1)
|
|
|
|
Engine.Exec("xstartprivatematch")
|
|
|
|
LUI.FlowManager.RequestAddMenu("CPPrivateMatchMenu", false, f3_arg1.controller, false, {
|
|
|
|
showPlayNowButton = true,
|
|
|
|
isPublicMatch = false
|
|
|
|
})
|
2024-08-06 05:15:59 -04:00
|
|
|
end
|
|
|
|
|
2024-08-06 05:52:32 -04:00
|
|
|
local f0_local3 = function(f4_arg0, f4_arg1)
|
|
|
|
Engine.Exec(MPConfig.default_xboxlive, f4_arg1.controller)
|
|
|
|
Engine.SetDvarBool("xblive_privatematch", true)
|
|
|
|
SetIsAliensSolo(false)
|
|
|
|
Engine.Exec("xstartprivatematch")
|
|
|
|
LUI.FlowManager.RequestAddMenu("CPPrivateMatchMenu", false, f4_arg1.controller, false, {
|
|
|
|
showPlayNowButton = true,
|
|
|
|
isPublicMatch = false
|
|
|
|
})
|
2024-08-06 05:15:59 -04:00
|
|
|
end
|
|
|
|
|
2024-08-06 05:52:32 -04:00
|
|
|
local f0_local4 = function(f5_arg0, f5_arg1, f5_arg2)
|
|
|
|
assert(f5_arg0.PublicMatch)
|
|
|
|
assert(f5_arg0.SoloMatch)
|
|
|
|
assert(f5_arg0.CustomMatch)
|
|
|
|
local f5_local0 = LUI.DataSourceInGlobalModel.new("frontEnd.lobby.areWeGameHost")
|
|
|
|
local f5_local1 = DataSources.frontEnd.lobby.memberCount
|
|
|
|
local f5_local2 = function()
|
|
|
|
return Lobby.IsInPrivateParty() and not Lobby.IsPrivatePartyHost()
|
|
|
|
end
|
|
|
|
|
|
|
|
local f5_local3 = function()
|
|
|
|
local f7_local0 = f5_local2()
|
|
|
|
f5_arg0.PublicMatch:SetButtonDisabled(f7_local0)
|
|
|
|
f5_arg0.CustomMatch:SetButtonDisabled(f7_local0)
|
|
|
|
end
|
|
|
|
|
|
|
|
f5_arg0:SubscribeToModel(f5_local0:GetModel(f5_arg1), f5_local3)
|
|
|
|
f5_arg0:SubscribeToModel(f5_local1:GetModel(f5_arg1), f5_local3)
|
|
|
|
f5_arg0:SubscribeToModel(DataSources.frontEnd.lobby.isSolo:GetModel(f5_arg1), function()
|
|
|
|
local f8_local0 = DataSources.frontEnd.lobby.isSolo:GetValue(f5_arg1)
|
|
|
|
if f8_local0 ~= nil then
|
|
|
|
f5_arg0.SoloMatch:SetButtonDisabled(not f8_local0)
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
f5_arg0.PublicMatch:addEventHandler("button_action", f0_local1)
|
|
|
|
f5_arg0.SoloMatch:addEventHandler("button_action", f0_local2)
|
|
|
|
f5_arg0.Loadout:addEventHandler("button_action", function(f9_arg0, f9_arg1)
|
|
|
|
LUI.FlowManager.RequestAddMenu("CPLoadoutMenu", true, f9_arg1.controller)
|
|
|
|
end)
|
|
|
|
f5_arg0.Barracks:addEventHandler("button_action", function(f10_arg0, f10_arg1)
|
|
|
|
LUI.FlowManager.RequestAddMenu("Headquarters", true, f10_arg1.controller)
|
|
|
|
end)
|
|
|
|
f5_arg0.Armory:addEventHandler("button_action", function(f11_arg0, f11_arg1)
|
|
|
|
if not Engine.IsUserAGuest(f11_arg1.controller) then
|
|
|
|
ACTIONS.OpenMenu("Armory", true, f11_arg1.controller)
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
f5_arg0.CustomMatch:addEventHandler("button_action", f0_local3)
|
|
|
|
f5_arg0.ContractsButton:addEventHandler("button_action", function(f12_arg0, f12_arg1)
|
|
|
|
ACTIONS.OpenMenu("ContractMenu", true, f12_arg1.controller or f5_arg1)
|
|
|
|
end)
|
|
|
|
|
|
|
|
f5_arg0.ModsButton:addEventHandler("button_action", function(arg0, arg1)
|
|
|
|
LUI.FlowManager.RequestAddMenu("ModSelectMenu", true, arg1.controller, false)
|
|
|
|
end)
|
2024-08-06 05:15:59 -04:00
|
|
|
end
|
|
|
|
|
2024-08-06 05:52:32 -04:00
|
|
|
function CPMainMenuButtons(menu, controller)
|
|
|
|
local VNavigator = LUI.UIVerticalNavigator.new()
|
|
|
|
VNavigator:SetAnchorsAndPosition(0, 1, 0, 1, 0, 500 * _1080p, 0, 400 * _1080p)
|
|
|
|
VNavigator.id = "CPMainMenuButtons"
|
|
|
|
local f14_local1 = controller and controller.controllerIndex
|
|
|
|
if not f14_local1 and not Engine.InFrontend() then
|
|
|
|
f14_local1 = VNavigator:getRootController()
|
|
|
|
end
|
|
|
|
assert(f14_local1)
|
|
|
|
local f14_local2 = VNavigator
|
|
|
|
local ButtonDescription = nil
|
|
|
|
|
|
|
|
ButtonDescription = MenuBuilder.BuildRegisteredType("ButtonDescriptionText", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
ButtonDescription.id = "ButtonDescription"
|
|
|
|
ButtonDescription:SetRGBFromTable(SWATCHES.genericButton.textDisabled, 0)
|
|
|
|
ButtonDescription.Description:SetRight(_1080p * 415, 0)
|
|
|
|
ButtonDescription:SetAnchorsAndPosition(0, 0, 0, 1, 0, 0, _1080p * 336, _1080p * 394)
|
|
|
|
VNavigator:addElement(ButtonDescription)
|
|
|
|
VNavigator.ButtonDescription = ButtonDescription
|
|
|
|
|
|
|
|
local PublicMatch = nil
|
|
|
|
|
|
|
|
PublicMatch = MenuBuilder.BuildRegisteredType("MenuButton", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
PublicMatch.id = "PublicMatch"
|
|
|
|
PublicMatch.buttonDescription = "Browse for Custom Servers"
|
|
|
|
PublicMatch.Text:setText(ToUpperCase("Server Browser"), 0)
|
|
|
|
PublicMatch:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, 0, _1080p * 30)
|
|
|
|
VNavigator:addElement(PublicMatch)
|
|
|
|
VNavigator.PublicMatch = PublicMatch
|
|
|
|
|
|
|
|
local SoloMatch = nil
|
|
|
|
|
|
|
|
SoloMatch = MenuBuilder.BuildRegisteredType("MenuButton", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
SoloMatch.id = "SoloMatch"
|
|
|
|
SoloMatch.buttonDescription = Engine.Localize("LUA_MENU_ZM_SOLO_MATCH_DESC")
|
|
|
|
SoloMatch.Text:setText(ToUpperCase(Engine.Localize("LUA_MENU_SOLO_MATCH_CAPS")), 0)
|
|
|
|
SoloMatch:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, _1080p * 40, _1080p * 70)
|
|
|
|
VNavigator:addElement(SoloMatch)
|
|
|
|
VNavigator.SoloMatch = SoloMatch
|
|
|
|
|
|
|
|
local CustomMatch = nil
|
|
|
|
|
|
|
|
CustomMatch = MenuBuilder.BuildRegisteredType("MenuButton", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
CustomMatch.id = "CustomMatch"
|
|
|
|
CustomMatch.buttonDescription = Engine.Localize("LUA_MENU_ZM_CUSTOM_MATCH_DESC")
|
|
|
|
CustomMatch.Text:setText(ToUpperCase(Engine.Localize("LUA_MENU_CUSTOM_GAME_CAPS")), 0)
|
|
|
|
CustomMatch:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, _1080p * 80, _1080p * 110)
|
|
|
|
VNavigator:addElement(CustomMatch)
|
|
|
|
VNavigator.CustomMatch = CustomMatch
|
|
|
|
|
|
|
|
local Loadout = nil
|
|
|
|
|
|
|
|
Loadout = MenuBuilder.BuildRegisteredType("MenuButton", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
Loadout.id = "Loadout"
|
|
|
|
Loadout.buttonDescription = Engine.Localize("LUA_MENU_ZM_LOADOUT_DESC")
|
|
|
|
Loadout.Text:setText(Engine.Localize("LUA_MENU_ZM_LOADOUT_CAPS"), 0)
|
|
|
|
Loadout:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, _1080p * 120, _1080p * 150)
|
|
|
|
VNavigator:addElement(Loadout)
|
|
|
|
VNavigator.Loadout = Loadout
|
|
|
|
|
|
|
|
local Barracks = nil
|
|
|
|
|
|
|
|
Barracks = MenuBuilder.BuildRegisteredType("MenuButton", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
Barracks.id = "Barracks"
|
|
|
|
Barracks.buttonDescription = Engine.Localize("LUA_MENU_ZM_BARRACKS_DESC")
|
|
|
|
Barracks.Text:setText(ToUpperCase(Engine.Localize("LUA_MENU_ZM_BARRACKS_CAPS")), 0)
|
|
|
|
Barracks:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, _1080p * 160, _1080p * 190)
|
|
|
|
VNavigator:addElement(Barracks)
|
|
|
|
VNavigator.Barracks = Barracks
|
|
|
|
|
|
|
|
local Armory = nil
|
|
|
|
|
|
|
|
Armory = MenuBuilder.BuildRegisteredType("MenuButton", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
Armory.id = "Armory"
|
|
|
|
Armory.buttonDescription = Engine.Localize("LUA_MENU_ZM_SURVIVAL_DEPOT_DESC")
|
|
|
|
Armory.Text:setText(ToUpperCase(Engine.Localize("LUA_MENU_ZM_SURVIVAL_DEPOT")), 0)
|
|
|
|
Armory:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, _1080p * 200, _1080p * 230)
|
|
|
|
VNavigator:addElement(Armory)
|
|
|
|
VNavigator.Armory = Armory
|
|
|
|
|
|
|
|
local ModsButton = nil
|
|
|
|
|
|
|
|
ModsButton = MenuBuilder.BuildRegisteredType("MenuButton", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
ModsButton.id = "ModsButton"
|
|
|
|
ModsButton.buttonDescription = Engine.Localize("LUA_MENU_MODS_DESC")
|
|
|
|
ModsButton.Text:setText(ToUpperCase(Engine.Localize("LUA_MENU_MODS_CAPS")), 0)
|
|
|
|
ModsButton:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, _1080p * 240, _1080p * 270)
|
|
|
|
VNavigator:addElement(ModsButton)
|
|
|
|
VNavigator.ModsButton = ModsButton
|
|
|
|
|
|
|
|
local ContractsButton = nil
|
|
|
|
|
|
|
|
ContractsButton = MenuBuilder.BuildRegisteredType("ContractsButtonCP", {
|
|
|
|
controllerIndex = f14_local1
|
|
|
|
})
|
|
|
|
ContractsButton.id = "ContractsButton"
|
|
|
|
ContractsButton:SetAnchorsAndPosition(0, 1, 0, 1, 0, _1080p * 340, _1080p * 280, _1080p * 340)
|
|
|
|
VNavigator:addElement(ContractsButton)
|
|
|
|
VNavigator.ContractsButton = ContractsButton
|
|
|
|
|
|
|
|
f0_local4(VNavigator, f14_local1, controller)
|
|
|
|
return VNavigator
|
2024-08-06 05:15:59 -04:00
|
|
|
end
|
|
|
|
|
2024-08-06 05:52:32 -04:00
|
|
|
MenuBuilder.m_types["CPMainMenuButtons"] = CPMainMenuButtons
|