703 lines
20 KiB
Lua
703 lines
20 KiB
Lua
local f0_local0 = module
|
|
local f0_local1, f0_local2 = ...
|
|
f0_local0( f0_local1, package.seeall )
|
|
CoD.PrintModuleLoad( _NAME )
|
|
function mpMainMenuPushFunc()
|
|
Engine.StopMusic( 200 )
|
|
if Engine.IsAliensMode() then
|
|
Engine.PlayMusic( CoD.Music.MainExtinctMusic )
|
|
elseif SvS.IsSvS() then
|
|
Engine.PlayMusic( CoD.Music.MainSquadMusic )
|
|
else
|
|
Engine.PlayMusic( CoD.Music.MainMPMusic )
|
|
end
|
|
if Engine.SplitscreenPlayerCount() > 0 then
|
|
local f1_local0 = Engine.GetFirstActiveController()
|
|
if f1_local0 and Engine.IsUserSignedIn( f1_local0 ) then
|
|
Engine.PLMRefreshData()
|
|
end
|
|
end
|
|
end
|
|
|
|
function mpMainMenuCheckRequiredDLC( f2_arg0, f2_arg1 )
|
|
if Engine.IsXbox360() then
|
|
LUI.mp_menus.MPPopups.UpdateRequiredDLCNotification( f2_arg0, f2_arg1 )
|
|
end
|
|
end
|
|
|
|
function mpMainMenuCreateHandler( f3_arg0, f3_arg1 )
|
|
Engine.SetDvarString( "ui_version_show", "0" )
|
|
Engine.SetDvarBool( "ui_onlineRequired", false )
|
|
f3_arg0:processEvent( {
|
|
name = "add_button_helper_text",
|
|
button_ref = "button_secondary",
|
|
helper_text = Engine.Localize( "@MENU_MAIN_MENU" ),
|
|
side = "left",
|
|
clickable = true
|
|
} )
|
|
mpMainMenuCheckRequiredDLC( f3_arg0, f3_arg1 )
|
|
end
|
|
|
|
function resolveXboxLiveButtonAction( f4_arg0 )
|
|
Engine.ExecNow( "forcenosplitscreencontrol main_XBOXLIVE_1", f4_arg0 )
|
|
local f4_local0, f4_local1 = Engine.UserCanPlayOnline( f4_arg0 )
|
|
if not f4_local0 and f4_local1 == CoD.PlayOnlineFailure.OPFR_XBOXLIVE_MPNOTALLOWED and Engine.IsXB3() then
|
|
f4_local0 = Engine.ShowXB3GoldUpsell( f4_arg0 )
|
|
end
|
|
if not f4_local0 then
|
|
Engine.ExecWithResolve( "xrequirelivesignin", resolveXboxLiveButtonAction, f4_arg0 )
|
|
Engine.Exec( "forcenosplitscreencontrol main_XBOXLIVE_2", f4_arg0 )
|
|
else
|
|
if Engine.IsXbox360() and Engine.AnyContentDamaged and Engine.AnyContentDamaged() then
|
|
LUI.FlowManager.RequestPopupMenu( self, "mp_damaged_content_popup", false, f4_arg0 )
|
|
return
|
|
elseif SvS.IsSvS() then
|
|
Engine.Exec( "profile_SetHasEverPlayed_SP", f4_arg0 )
|
|
end
|
|
Engine.ExecNow( "resetSplitscreenSignIn", f4_arg0 )
|
|
Engine.ExecNow( "forcenosplitscreencontrol main_XBOXLIVE_3", f4_arg0 )
|
|
Engine.SetDvarBool( "systemlink", false )
|
|
Engine.SetDvarBool( "splitscreen", false )
|
|
Engine.SetDvarBool( "onlinegame", true )
|
|
Engine.SetDvarBool( "xblive_privatematch", false )
|
|
Engine.SetDvarBool( "ui_opensummary", false )
|
|
Engine.SetDvarBool( "squad_match", false )
|
|
if Engine.GetDvarBool( "xblive_competitionmatch" ) then
|
|
Engine.SetDvarBool( "xblive_competitionmatch", false )
|
|
Engine.Exec( "set remove_mlg_rules 1" )
|
|
end
|
|
Engine.ExecNow( MPConfig.default_xboxlive, f4_arg0 )
|
|
if not SvS.IsSvS() then
|
|
Engine.ExecNow( "xstartprivateparty", f4_arg0 )
|
|
end
|
|
Engine.Exec( "startentitlements", f4_arg0 )
|
|
Engine.CacheUserDataForController( f4_arg0 )
|
|
if SvS.IsSvS() then
|
|
LUI.FlowManager.RequestAddMenu( nil, "squads_mode_select_menu", false, f4_arg0, false )
|
|
else
|
|
LUI.FlowManager.RequestAddMenu( nil, "menu_xboxlive", false, f4_arg0, false )
|
|
end
|
|
end
|
|
end
|
|
|
|
function xboxLiveButtonAction( f5_arg0, f5_arg1 )
|
|
resolveXboxLiveButtonAction( f5_arg1.controller )
|
|
end
|
|
|
|
function splitScreenButtonAction( f6_arg0, f6_arg1 )
|
|
if Engine.IsXbox360() and Engine.AnyContentDamaged and Engine.AnyContentDamaged() then
|
|
LUI.FlowManager.RequestPopupMenu( f6_arg0, "mp_damaged_content_popup", false, controller )
|
|
return
|
|
elseif SvS.IsSvS() then
|
|
Engine.Exec( "profile_SetHasEverPlayed_SP", f6_arg1.controller )
|
|
end
|
|
Engine.Exec( "resetSplitscreenSignIn" )
|
|
Engine.Exec( "forcesplitscreencontrol main_SPLITSCREEN" )
|
|
Engine.SetDvarBool( "systemlink", false )
|
|
Engine.SetDvarBool( "splitscreen", true )
|
|
Engine.SetDvarBool( "onlinegame", false )
|
|
Engine.SetDvarBool( "xblive_privatematch", false )
|
|
Engine.SetDvarBool( "ui_opensummary", false )
|
|
Engine.Exec( MPConfig.default_splitscreen )
|
|
Engine.CacheUserDataForController( f6_arg1.controller )
|
|
if Engine.GetDvarBool( "lui_splitscreensignin_menu" ) then
|
|
LUI.FlowManager.RequestAddMenu( f6_arg0, "menu_splitscreensignin", false, f6_arg1.controller, false )
|
|
else
|
|
assert( not Engine.IsAliensMode(), "Splitscreen sign in UI not supported by .menu." )
|
|
LUI.FlowManager.RequestOldMenu( f6_arg0, "menu_splitscreensignin", false )
|
|
end
|
|
end
|
|
|
|
function systemLinkButtonResolveAction( f7_arg0 )
|
|
Engine.SetDvarBool( "systemlink", true )
|
|
Engine.SetDvarBool( "splitscreen", false )
|
|
Engine.SetDvarBool( "onlinegame", false )
|
|
Engine.SetDvarBool( "xblive_privatematch", false )
|
|
Engine.SetDvarBool( "ui_opensummary", false )
|
|
Engine.Exec( MPConfig.default_systemlink, f7_arg0 )
|
|
Engine.CacheUserDataForController( f7_arg0 )
|
|
if Engine.IsUserSignedIn( f7_arg0 ) == true and Engine.IsUserAGuest( f7_arg0 ) == false then
|
|
if Engine.IsPS3() then
|
|
if Engine.OfflineProfileIsSelected( Engine.GetFirstActiveController() ) then
|
|
Engine.Exec( "forcenosplitscreencontrol main_SYSTEMLINK_3", f7_arg0 )
|
|
LUI.FlowManager.RequestAddMenu( nil, "menu_systemlink", false, f7_arg0, false )
|
|
else
|
|
LUI.FlowManager.RequestPopupMenu( nil, "menu_ps3_profile", true, f7_arg0, false )
|
|
end
|
|
else
|
|
if Engine.IsXbox360() and Engine.AnyContentDamaged and Engine.AnyContentDamaged() then
|
|
LUI.FlowManager.RequestPopupMenu( self, "mp_damaged_content_popup", false, f7_arg0 )
|
|
return
|
|
end
|
|
Engine.Exec( "forcenosplitscreencontrol main_SYSTEMLINK_3", f7_arg0 )
|
|
LUI.FlowManager.RequestAddMenu( nil, "menu_systemlink", false, f7_arg0, false )
|
|
end
|
|
end
|
|
end
|
|
|
|
function systemLinkButtonAction( f8_arg0, f8_arg1 )
|
|
Engine.ExecNow( "forcenosplitscreencontrol main_SYSTEMLINK_1", f8_arg1.controller )
|
|
if not Engine.IsUserSignedIn( f8_arg1.controller ) or Engine.IsUserAGuest( f8_arg1.controller ) then
|
|
Engine.ExecWithResolve( "xrequiresignin", systemLinkButtonResolveAction, f8_arg1.controller )
|
|
Engine.Exec( "forcesplitscreencontrol main_SYSTEMLINK_2", f8_arg1.controller )
|
|
else
|
|
systemLinkButtonResolveAction( f8_arg1.controller )
|
|
end
|
|
end
|
|
|
|
function eliteButtonAction( f9_arg0, f9_arg1 )
|
|
if not Engine.IsEliteAppAvailable( f9_arg1.controller ) then
|
|
Engine.ExecNow( "incnosplitscreencontrol main_ELITE_1", f9_arg1.controller )
|
|
if not Engine.IsUserSignedInForCommerce( f9_arg1.controller ) then
|
|
Engine.Exec( "xrequirelivesigninforcommerce", f9_arg1.controller )
|
|
Engine.Exec( "decnosplitscreencontrol main_ELITE_2" )
|
|
else
|
|
Engine.ExecNow( "decnosplitscreencontrol main_ELITE_3" )
|
|
LUI.FlowManager.RequestPopupMenu( f9_arg0, "popup_elite_sell", false, f9_arg1.controller )
|
|
end
|
|
end
|
|
end
|
|
|
|
function resolveStoreButtonAction( f10_arg0 )
|
|
if not Engine.UserCanAccessStore( f10_arg0 ) then
|
|
Engine.ExecNow( "forcenosplitscreencontrol main_XBOXLIVE_STORE_1", f10_arg0 )
|
|
Engine.ExecWithResolve( "xrequirelivesigninforstore", resolveStoreButtonAction, f10_arg0 )
|
|
Engine.Exec( "forcesplitscreencontrol main_XBOXLIVE_STORE_2", f10_arg0 )
|
|
else
|
|
Engine.SetDvarBool( "ui_onlineRequired", true )
|
|
if not Sns.OpenStoreMenu( f10_arg0 ) then
|
|
Engine.SetDvarBool( "ui_onlineRequired", false )
|
|
end
|
|
end
|
|
end
|
|
|
|
function storeButtonAction( f11_arg0, f11_arg1 )
|
|
Engine.SetDvarBool( "systemlink", false )
|
|
resolveStoreButtonAction( f11_arg1.controller )
|
|
end
|
|
|
|
function optionsButtonAction( f12_arg0, f12_arg1 )
|
|
if Engine.IsConsoleGame() then
|
|
Engine.ExecNow( "forcenosplitscreencontrol main_options_menu", f12_arg1.controller )
|
|
LUI.FlowManager.RequestAddMenu( f12_arg0, "controls", true, f12_arg1.controller, false )
|
|
else
|
|
LUI.FlowManager.RequestAddMenu( f12_arg0, "pc_controls", true, f12_arg1.controller, false )
|
|
end
|
|
end
|
|
|
|
function mainMenuButtonAction( f13_arg0, f13_arg1 )
|
|
Engine.StartSingleplayer()
|
|
end
|
|
|
|
function updateDescText( f14_arg0, f14_arg1 )
|
|
f14_arg0:setText( Engine.Localize( f14_arg1.string ) )
|
|
end
|
|
|
|
function MainMenuChildFeeder( f15_arg0 )
|
|
local f15_local0 = SvS.IsSvS()
|
|
local f15_local1 = nil
|
|
if Engine.IsAliensMode() then
|
|
f15_local1 = Engine.Localize( "@LUA_MENU_ALIENS" )
|
|
elseif f15_local0 then
|
|
f15_local1 = Engine.Localize( "@LUA_MENU_SQUAD_TITLE_CAPS" )
|
|
else
|
|
f15_local1 = Engine.Localize( "@LUA_MENU_MULTIPLAYER_CAPS" )
|
|
end
|
|
local f15_local2 = {
|
|
[#f15_local2 + 1] = {
|
|
type = "generic_menu_title",
|
|
id = "mp_main_title_text_id",
|
|
properties = {
|
|
menu_title = f15_local1
|
|
}
|
|
},
|
|
[#f15_local2 + 1] = {
|
|
type = "main_mp_menu_options"
|
|
},
|
|
[#f15_local2 + 1] = {
|
|
type = "button_helper_text_main",
|
|
id = "mp_main_button_helper_text_id"
|
|
},
|
|
[#f15_local2 + 1] = {
|
|
type = "UICharacterWindow",
|
|
id = "characterwindow",
|
|
states = {
|
|
default = {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
right = -150,
|
|
bottom = -150,
|
|
height = 256,
|
|
width = 154
|
|
}
|
|
},
|
|
children = {
|
|
{
|
|
type = "UITimer",
|
|
id = "createSceneTimer",
|
|
properties = {
|
|
event = "make_scene",
|
|
interval = 200
|
|
}
|
|
}
|
|
}
|
|
},
|
|
[#f15_local2 + 1] = {
|
|
type = "generic_back_button",
|
|
handlers = {
|
|
button_secondary = MBh.PopupMenu( "main_choose_exe_popup_menu", false, false )
|
|
}
|
|
}
|
|
}
|
|
if Engine.IsXbox360() then
|
|
f15_local2[#f15_local2 + 1] = {
|
|
type = "UITimer",
|
|
id = "checkRequiredDLCTimer",
|
|
properties = {
|
|
event = "check_required_dlc",
|
|
interval = 1000
|
|
}
|
|
}
|
|
end
|
|
return f15_local2
|
|
end
|
|
|
|
function mp_main_menu()
|
|
return {
|
|
type = "UIElement",
|
|
id = "mp_main_menu_id",
|
|
states = {
|
|
default = {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
left = 0,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = 0
|
|
}
|
|
},
|
|
handlers = {
|
|
menu_create = mpMainMenuCreateHandler,
|
|
check_required_dlc = mpMainMenuCheckRequiredDLC
|
|
},
|
|
childrenFeeder = MainMenuChildFeeder
|
|
}
|
|
end
|
|
|
|
function main_menu_options_feeder( f17_arg0 )
|
|
local f17_local0 = Engine.IsAliensMode()
|
|
local f17_local1 = SvS.IsSvS()
|
|
local f17_local2 = false
|
|
if Engine.GetDvarInt( "allow_online_squads" ) == 1 or not Engine.IsConsoleGame() then
|
|
f17_local2 = true
|
|
end
|
|
local f17_local3 = Engine.DoWeNeedCompatibilityPacks()
|
|
if f17_local1 then
|
|
local f17_local4 = f17_local2
|
|
end
|
|
local f17_local5 = f17_local4 or not f17_local1
|
|
local f17_local6 = {}
|
|
if Engine.AllowOnline() and f17_local5 then
|
|
local f17_local7, f17_local8 = nil
|
|
if f17_local1 then
|
|
f17_local8 = Engine.Localize( "@PLATFORM_PLAY_ONLINE_SQUADS_CAPS" )
|
|
f17_local7 = Engine.Localize( "@LUA_MENU_SQUADS_INTRO" )
|
|
elseif f17_local0 then
|
|
f17_local8 = Engine.Localize( "@PLATFORM_PLAY_ONLINE_CAPS" )
|
|
f17_local7 = Engine.Localize( "@LUA_MENU_PLAY_EXTINCTION_ONLINE_DESC" )
|
|
else
|
|
f17_local8 = Engine.Localize( "@PLATFORM_PLAY_ONLINE_CAPS" )
|
|
f17_local7 = Engine.Localize( "@PLATFORM_PLAY_ONLINE_DESC" )
|
|
end
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_0",
|
|
disabled = f17_local3,
|
|
disabledFunc = Engine.DoWeNeedCompatibilityPacks,
|
|
properties = {
|
|
button_text = f17_local8,
|
|
button_action_func = xboxLiveButtonAction,
|
|
desc_text = f17_local7,
|
|
button_over_func = function ( f18_arg0, f18_arg1 )
|
|
PersistentBackground.SetToDefault()
|
|
end
|
|
}
|
|
}
|
|
end
|
|
if Engine.IsConsoleGame() then
|
|
local f17_local7 = "@LUA_MENU_SPLITSCREEN_CAPS"
|
|
if f17_local0 then
|
|
f17_local7 = "@LUA_MENU_LOCAL_CAPS"
|
|
elseif f17_local1 then
|
|
f17_local7 = "@LUA_MENU_LOCAL_CAPS"
|
|
end
|
|
local f17_local8 = #f17_local6 + 1
|
|
local f17_local9 = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_1",
|
|
disabled = f17_local3,
|
|
disabledFunc = Engine.DoWeNeedCompatibilityPacks
|
|
}
|
|
local f17_local10 = {
|
|
button_text = Engine.Localize( f17_local7 ),
|
|
button_action_func = splitScreenButtonAction
|
|
}
|
|
local f17_local11
|
|
if f17_local1 then
|
|
f17_local11 = Engine.Localize( "@LUA_MENU_SQUAD_LOCAL_PLAY_DESC" )
|
|
if not f17_local11 then
|
|
|
|
else
|
|
f17_local10.desc_text = f17_local11
|
|
f17_local10.button_over_func = function ( f19_arg0, f19_arg1 )
|
|
PersistentBackground.SetToDefault()
|
|
end
|
|
|
|
f17_local9.properties = f17_local10
|
|
f17_local6[f17_local8] = f17_local9
|
|
if not f17_local1 then
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_2",
|
|
disabled = f17_local3,
|
|
disabledFunc = Engine.DoWeNeedCompatibilityPacks,
|
|
properties = {
|
|
button_text = Engine.Localize( "@PLATFORM_SYSTEM_LINK_CAPS" ),
|
|
button_action_func = systemLinkButtonAction,
|
|
desc_text = Engine.Localize( "@PLATFORM_SYSTEM_LINK_DESC" ),
|
|
button_over_func = function ( f20_arg0, f20_arg1 )
|
|
PersistentBackground.SetToDefault()
|
|
end
|
|
}
|
|
}
|
|
end
|
|
end
|
|
end
|
|
f17_local11 = Engine.Localize( "@LUA_MENU_SPLITSCREEN_DESC" )
|
|
end
|
|
if not f17_local1 then
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_5",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_STORE_CAPS" ),
|
|
button_action_func = storeButtonAction,
|
|
desc_text = Engine.Localize( "@LUA_MENU_STORE_DESC" ),
|
|
button_over_func = function ( f21_arg0, f21_arg1 )
|
|
PersistentBackground.SetToDefault()
|
|
end
|
|
}
|
|
}
|
|
end
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_6",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_OPTIONS_CAPS" ),
|
|
button_action_func = optionsButtonAction,
|
|
desc_text = Engine.Localize( "@LUA_MENU_OPTIONS_DESC" ),
|
|
button_over_func = function ( f22_arg0, f22_arg1 )
|
|
PersistentBackground.SetToDefault()
|
|
end
|
|
}
|
|
}
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "generic_separator",
|
|
id = "main_menu_spacer_id"
|
|
}
|
|
if not Engine.IsCoreMode() then
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_7",
|
|
properties = {
|
|
text = Engine.Localize( "@LUA_MENU_MULTIPLAYER_CAPS" ),
|
|
button_action_func = function ( f23_arg0, f23_arg1 )
|
|
Engine.StopMusic( 200 )
|
|
Engine.SwitchToCoreMode()
|
|
Engine.PlayMusic( CoD.Music.MainMPMusic )
|
|
Engine.SetActiveMenu( ActiveMenus.None )
|
|
Engine.SetActiveMenu( ActiveMenus.Main )
|
|
end,
|
|
button_over_func = function ( f24_arg0, f24_arg1 )
|
|
PersistentBackground.Set( PersistentBackground.Variants.MPBackground )
|
|
end,
|
|
desc_text = Engine.Localize( "@PLATFORM_PLAY_ONLINE_DESC" )
|
|
}
|
|
}
|
|
end
|
|
if not SvS.IsSvS() then
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_8",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_SQUAD_MODE_CAP" ),
|
|
button_action_func = function ( f25_arg0, f25_arg1 )
|
|
Engine.StopMusic( 200 )
|
|
Engine.SwitchToSquadVsSquadMode()
|
|
Engine.PlayMusic( CoD.Music.MainSquadMusic )
|
|
Engine.SetActiveMenu( ActiveMenus.None )
|
|
Engine.SetActiveMenu( ActiveMenus.Main )
|
|
end,
|
|
button_over_func = function ( f26_arg0, f26_arg1 )
|
|
PersistentBackground.Set( PersistentBackground.Variants.SvSBackground )
|
|
end,
|
|
desc_text = Engine.Localize( "@LUA_MENU_SVS_MAIN_MENU_DESC" )
|
|
}
|
|
}
|
|
end
|
|
if not Engine.IsAliensMode() and Engine.UnlockedAliens() then
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "btn_MPMain_9",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_ALIENS_CAPS" ),
|
|
button_action_func = function ( f27_arg0, f27_arg1 )
|
|
Engine.StopMusic( 200 )
|
|
Engine.SwitchToAliensMode()
|
|
Engine.PlayMusic( CoD.Music.MainExtinctMusic )
|
|
Engine.SetActiveMenu( ActiveMenus.None )
|
|
Engine.SetActiveMenu( ActiveMenus.Main )
|
|
end,
|
|
button_over_func = function ( f28_arg0, f28_arg1 )
|
|
PersistentBackground.Set( PersistentBackground.Variants.AliensBackground )
|
|
end,
|
|
desc_text = Engine.Localize( "@LUA_MENU_ALIENS_MAIN_MENU_DESC" ),
|
|
additional_handlers = {
|
|
menu_create = AddExtinctionGlowBackground
|
|
}
|
|
}
|
|
}
|
|
end
|
|
f17_local6[#f17_local6 + 1] = {
|
|
type = "button_desc_text",
|
|
id = "mp_menu_button_description_id",
|
|
properties = {
|
|
lines = SvS.IsSvS() and 8 or nil
|
|
}
|
|
}
|
|
return f17_local6
|
|
end
|
|
|
|
f0_local0 = function ()
|
|
return {
|
|
type = "UIVerticalList",
|
|
id = "mp_main_menu_id",
|
|
childrenFeeder = main_menu_options_feeder,
|
|
states = {
|
|
default = {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = GenericMenuDims.menu_top,
|
|
bottom = GenericMenuDims.menu_bottom,
|
|
left = GenericMenuDims.menu_left,
|
|
right = GenericMenuDims.menu_right,
|
|
alignment = LUI.Alignment.Top
|
|
}
|
|
},
|
|
handlers = {
|
|
dlc_mount_complete = function ( f30_arg0, f30_arg1 )
|
|
f30_arg0:processEvent( {
|
|
name = "menu_refresh"
|
|
} )
|
|
end
|
|
,
|
|
dlc_mount_fail = function ( f31_arg0, f31_arg1 )
|
|
f31_arg0:processEvent( {
|
|
name = "menu_refresh"
|
|
} )
|
|
end
|
|
,
|
|
dlc_download_fail = function ( f32_arg0, f32_arg1 )
|
|
f32_arg0:processEvent( {
|
|
name = "menu_refresh"
|
|
} )
|
|
end
|
|
|
|
}
|
|
}
|
|
end
|
|
|
|
function SquadsDescTextFeeder( f33_arg0 )
|
|
local f33_local0 = {
|
|
[#f33_local0 + 1] = {
|
|
type = "UIText",
|
|
id = "squads_desc_text_main",
|
|
properties = {
|
|
text = Engine.Localize( "LUA_MENU_SQUADS_INTRO" )
|
|
},
|
|
states = {
|
|
default = {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = CoD.TextSettings.NormalFont.Height,
|
|
left = 0,
|
|
right = 0,
|
|
font = CoD.TextSettings.NormalFont.Font,
|
|
alignment = LUI.Alignment.Left
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return f33_local0
|
|
end
|
|
|
|
function AddExtinctionGlowBackground( f34_arg0, f34_arg1 )
|
|
local f34_local0 = f34_arg0:getFirstDescendentById( "hlist" )
|
|
local f34_local1 = f34_local0:getChildById( "bgRightCap" )
|
|
if f34_local1 then
|
|
if Engine.IsConsoleGame() or Engine.IsGamepadEnabled() == 1 then
|
|
f34_local1:registerAnimationState( "focus", {
|
|
material = RegisterMaterial( "btn_alien_00a_rtcap_f" )
|
|
} )
|
|
else
|
|
f34_local1:registerAnimationState( "focus", {
|
|
material = RegisterMaterial( "btn_alien_00a_rtcap_f_pc" )
|
|
} )
|
|
end
|
|
local self = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "btn_alien_overlay" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = -44,
|
|
bottom = 16,
|
|
left = -208,
|
|
right = -48,
|
|
alpha = 0
|
|
} )
|
|
self.id = "blood_splat_glow"
|
|
self:registerAnimationState( "glow", {
|
|
alpha = 0.12
|
|
} )
|
|
self:registerAnimationState( "heavyglow", {
|
|
alpha = 0.5
|
|
} )
|
|
self:registerEventHandler( "button_over", MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"heavyglow",
|
|
1200
|
|
},
|
|
{
|
|
"default",
|
|
1200
|
|
}
|
|
} ) )
|
|
self:registerEventHandler( "button_up", MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"glow",
|
|
1200
|
|
},
|
|
{
|
|
"default",
|
|
1200
|
|
}
|
|
} ) )
|
|
local f34_local3 = MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
1200
|
|
},
|
|
{
|
|
"glow",
|
|
1200
|
|
}
|
|
} )
|
|
f34_local3( self )
|
|
f34_local1:addElement( self )
|
|
f34_local3 = LUI.UIImage.new( {
|
|
material = RegisterMaterial( "btn_alien_overlay_02" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = -28,
|
|
bottom = 32,
|
|
left = -208,
|
|
right = -48,
|
|
alpha = 0
|
|
} )
|
|
f34_local3.id = "blood_splat_glow_02"
|
|
f34_local3:registerAnimationState( "glow", {
|
|
alpha = 0.12
|
|
} )
|
|
f34_local3:registerAnimationState( "heavyglow", {
|
|
alpha = 0.5
|
|
} )
|
|
f34_local3:registerEventHandler( "button_over", MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"heavyglow",
|
|
1800
|
|
},
|
|
{
|
|
"default",
|
|
1800
|
|
}
|
|
} ) )
|
|
f34_local3:registerEventHandler( "button_up", MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
0
|
|
},
|
|
{
|
|
"glow",
|
|
1800
|
|
},
|
|
{
|
|
"default",
|
|
1800
|
|
}
|
|
} ) )
|
|
local f34_local4 = MBh.AnimateLoop( {
|
|
{
|
|
"default",
|
|
1800
|
|
},
|
|
{
|
|
"glow",
|
|
1800
|
|
}
|
|
} )
|
|
f34_local4( f34_local3 )
|
|
f34_local1:addElement( f34_local3 )
|
|
end
|
|
local self = f34_local0:getChildById( "bgLeftCap" )
|
|
if self then
|
|
self:registerAnimationState( "focus", {
|
|
material = RegisterMaterial( "btn_alien_00a_ltcap_f" )
|
|
} )
|
|
end
|
|
local f34_local3 = f34_local0:getChildById( "bgMid" )
|
|
if f34_local3 then
|
|
f34_local3:registerAnimationState( "focus", {
|
|
material = RegisterMaterial( "btn_alien_00a_mid_f" )
|
|
} )
|
|
end
|
|
end
|
|
|
|
LUI.MenuBuilder.registerDef( "mp_main_menu", mp_main_menu )
|
|
LUI.MenuBuilder.registerDef( "main_mp_menu_options", f0_local0 )
|
|
LUI.FlowManager.RegisterStackPushBehaviour( "mp_main_menu", mpMainMenuPushFunc )
|
|
LockTable( _M )
|