197 lines
7.4 KiB
Lua
197 lines
7.4 KiB
Lua
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 )
|
|
end
|
|
|
|
local f0_local1 = function ( f2_arg0, f2_arg1 )
|
|
f0_local0( f2_arg0, f2_arg1 )
|
|
end
|
|
|
|
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
|
|
} )
|
|
end
|
|
|
|
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
|
|
} )
|
|
end
|
|
|
|
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 )
|
|
end
|
|
|
|
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 ContractsButton = nil
|
|
|
|
ContractsButton = MenuBuilder.BuildRegisteredType( "ContractsButtonCP", {
|
|
controllerIndex = f14_local1
|
|
} )
|
|
ContractsButton.id = "ContractsButton"
|
|
ContractsButton:SetAnchorsAndPosition( 0, 1, 0, 1, 0, _1080p * 340, _1080p * 240, _1080p * 300 )
|
|
VNavigator:addElement( ContractsButton )
|
|
VNavigator.ContractsButton = ContractsButton
|
|
|
|
f0_local4( VNavigator, f14_local1, controller )
|
|
return VNavigator
|
|
end
|
|
|
|
CPMainMenu_original = MenuBuilder.m_types["CPMainMenu"]
|
|
function CPMainMenuStub( menu, controller )
|
|
ret = CPMainMenu_original( menu, controller )
|
|
|
|
-- play music immediately
|
|
Engine.PlayMusic( CoD.Music.MainCPMusic )
|
|
|
|
return ret
|
|
end
|
|
|
|
MenuBuilder.m_types["CPMainMenu"] = CPMainMenuStub
|
|
|
|
MenuBuilder.m_types["CPMainMenuButtons"] = CPMainMenuButtons |