iw7-mod/data/cdata/ui_scripts/SystemLinkMenu/SysLinkBrowser.lua
Liam 2d588e26ba
feat: Update ServerBrowser & Main Menu Lua (#285)
* feat: add server browser [draft]

* fix: load custom lui using require

* feat: Server Browser + Main Menu tweaks

* feat: Add Create a Class button to Server Browser

* fix: resolve empty string

* Fix build

---------
2024-08-03 15:15:37 +03:00

848 lines
29 KiB
Lua

local f0_local0 = "frontEnd.systemLinkMenu.serverBrowser"
serverBrowserOffsets = {
10,
240,
360,
450
}
local f0_local4 = function ( f5_arg0, f5_arg1 )
Engine.ExecNow( "xstopprivateparty", f5_arg1.controller )
Engine.SetDvarBool( "systemlink", false )
Engine.SetDvarBool( "systemlink_host", false )
Engine.StopGameMode()
LUI.FlowManager.RequestLeaveMenu( f5_arg0, true )
end
local f0_local6 = nil
f0_local6 = function ( menu, controller, index )
local f9_local0 = menu:Wait( 250 )
f9_local0.onComplete = function ()
return f0_local6( menu, controller )
end
Lobby.UpdateServerDisplayList( controller )
Lobby.CreateServersDataModels( controller )
end
local f0_local7 = function ( f11_arg0, f11_arg1, f11_arg2 )
assert( f11_arg0.ServerBrowser )
assert( f11_arg0.ServerBrowser.ServerList )
f11_arg0:setPriority( -1 )
f11_arg0.isSignInMenu = true
local f11_local0 = Engine.IsAliensMode()
if f11_local0 then
Engine.SetFrontEndSceneSection( "zm_main", 1 )
end
if not f11_local0 then
f11_arg0.MenuTitle.MenuBreadcrumbs:setText( ToUpperCase( Engine.Localize( "LUA_MENU_BREADCRUMB_2_ITEMS", "IW7-Mod", "MULTIPLAYER" ) ), 0 )
end
f11_arg0.addButtonHelperFunction = function ( f12_arg0, f12_arg1 )
f11_arg0:AddButtonHelperText( {
helper_text = Engine.Localize( "MENU_SB_TOOLTIP_BTN_REFRESH" ),
button_ref = "button_alt1",
side = "left",
priority = 2,
clickable = true
} )
end
f11_arg0:addEventHandler( "menu_create", f11_arg0.addButtonHelperFunction )
assert( Engine.IsUserSignedIn( f11_arg1 ) )
if f11_local0 then
Engine.ExecNow( CPConfig.default_systemlink, f11_arg1 )
else
Engine.ExecNow( MPConfig.default_systemlink, f11_arg1 )
end
if not Lobby.IsInPrivateParty() then
Engine.ExecNow( "xstartprivateparty", f11_arg1 )
end
Engine.Exec( MPConfig.default_dvars )
f11_arg0:addEventHandler( "menu_create", function ( f13_arg0, f13_arg1 )
assert( f11_arg0.bindButton )
if CONDITIONS.IsThirdGameMode( f11_arg0 ) then
ACTIONS.AnimateSequence( f11_arg0, "DisplayServerBrowser" )
end
f11_arg0.bindButton:addEventHandler( "button_secondary", function ( f14_arg0, f14_arg1 )
local f14_local0 = LUI.FlowManager.GetScopedData( f11_arg0 )
if f14_local0.serverBrowserFocused then
f14_local0.serverBrowserFocused = false
ACTIONS.LoseFocus( f11_arg0, "ServerBrowser", f11_arg1 )
ACTIONS.GainFocus( f11_arg0.SystemLinkMenuButtons, "JoinGameButton", f11_arg1 )
else
f0_local4( f14_arg0, f14_arg1 )
end
end )
f11_arg0.bindButton:addEventHandler( "button_alt1", function ( f15_arg0, f15_arg1 )
Lobby.RefreshServerList( f11_arg1 )
ACTIONS.PlaySoundSetSound( f11_arg0, "selectAlt", false )
end )
end )
f11_arg0.SystemLinkMenuButtons:addEventHandler( "gain_focus", function ( f16_arg0, f16_arg1 )
local f16_local0 = LUI.FlowManager.GetScopedData( f11_arg0 )
if f16_local0.serverBrowserFocused then
f16_local0.serverBrowserFocused = false
ACTIONS.LoseFocus( f11_arg0, "ServerBrowser", f11_arg1 )
if CONDITIONS.IsThirdGameMode( f11_arg0 ) then
ACTIONS.AnimateSequence( f11_arg0, "DisplayServerBrowser" )
f11_arg0:RemoveButtonHelperText( "button_alt1", "left" )
end
end
end )
Engine.PLMRefreshData()
if Engine.IsCoreMode() then
FrontEndScene.CurrentMissionTeam = MissionDirector.InvalidTeamID
FrontEndScene.SetScene( "private_lobby_menu" )
ClientCharacter.SetCharacterVisible( FrontEndScene.ClientCharacters.Self, true )
if Fences.OfflineDataFetched( f11_arg1 ) then
local f11_local1 = CoD.GetPrivateLoadoutDataSource()
local f11_local2 = f11_local1.squadMembers.head:GetValue( f11_arg1 )
local f11_local3 = f11_local1.squadMembers.body:GetValue( f11_arg1 )
local f11_local4 = f11_local1.squadMembers.archetype:GetValue( f11_arg1 )
local f11_local5 = f11_local1.squadMembers.archetypeSuper:GetValue( f11_arg1 )
FrontEndScene.SetCharacterModelsByIndex( FrontEndScene.ClientCharacters.Self, f11_local3, f11_local2 )
FrontEndScene.SetWeaponForSuper( FrontEndScene.ClientCharacters.Self, f11_local5, f11_local4 )
FrontEndScene.PlayIdleForSuper( FrontEndScene.ClientCharacters.Self, f11_local5, f11_local4 )
ClientWeapon.SetWeaponIsViewModel( 0, true )
ClientWeapon.SetWeaponVisible( 0, false )
ClientCharacter.SetCharacterVisible( 0, true )
end
end
Lobby.SetPartyUIRoot( PartyUIRoot.SYSTEM_LINK )
local f11_local1 = LUI.FlowManager.GetScopedData( f11_arg0 )
if f11_local1.optionsMenuOpened then
f11_local1.optionsMenuOpened = nil
if f11_local1.serverBrowserFocused then
f11_local1.serverBrowserFocused = false
f11_arg0:clearSavedState()
if f11_local0 then
LUI.FlowManager.ClearSavedMenuState( "CPSystemLinkMenu" )
else
LUI.FlowManager.ClearSavedMenuState( "MPSystemLinkMenu" )
end
end
else
f11_local1.serverBrowserFocused = false
end
Lobby.BuildServerList( f11_arg1 )
Lobby.RefreshServerList( f11_arg1 )
assert( f11_arg0.ServerBrowser )
assert( f11_arg0.ServerBrowser.ServerList )
local f11_local2 = LUI.DataSourceInGlobalModel.new( f0_local0 .. ".serverCount" )
f11_arg0:SubscribeToModel( f11_local2:GetModel( f11_arg1 ), function ()
local f17_local0 = f11_local2:GetValue( f11_arg1 )
if f17_local0 ~= nil then
if f17_local0 == 0 then
local f17_local1 = LUI.FlowManager.GetScopedData( f11_arg0 )
if f17_local1.serverBrowserFocused then
f17_local1.serverBrowserFocused = false
ACTIONS.LoseFocus( f11_arg0, "ServerBrowser", f11_arg1 )
end
end
f11_arg0.ServerBrowser:SetBlurHeight( f17_local0 )
end
end )
local f11_local3 = LUI.DataSourceFromList.new( f11_local2 )
f11_local3.MakeDataSourceAtIndex = function ( f18_arg0, f18_arg1, f18_arg2 )
local f18_local0 = f18_arg1 % 2 and COLORS.white or COLORS.black
local f18_local1 = LUI.DataSourceInGlobalModel.new( f0_local0 .. "." .. f18_arg1 .. ".status" )
return {
index = f18_arg1,
color = f18_local0,
host = LUI.DataSourceInGlobalModel.new( f0_local0 .. "." .. f18_arg1 .. ".host" ),
map = LUI.DataSourceInGlobalModel.new( f0_local0 .. "." .. f18_arg1 .. ".map" ),
players = LUI.DataSourceInGlobalModel.new( f0_local0 .. "." .. f18_arg1 .. ".players" ),
type = LUI.DataSourceInGlobalModel.new( f0_local0 .. "." .. f18_arg1 .. ".type" ),
status = f18_local1:Filter( "status", function ( f19_arg0, f19_arg1 )
local f19_local0
if f19_arg0 == 1 then
f19_local0 = Engine.Localize( "MENU_LOBBY" )
if not f19_local0 then
else
return f19_local0
end
end
f19_local0 = Engine.Localize( "MENU_IN_GAME_CAPS" )
end
)
}
end
f11_arg0.ServerBrowser.ServerList:SetGridDataSource( f11_local3 )
assert( f11_arg0.bindButton )
f11_arg0.bindButton:addEventHandler( "button_start", function ( f20_arg0, f20_arg1 )
local f20_local0 = LUI.FlowManager.GetScopedData( f11_arg0 )
f20_local0.optionsMenuOpened = true
ACTIONS.OpenMenu( "OptionsMenu", true, f20_arg1.controller )
ACTIONS.PlaySoundSetSound( f11_arg0, "selectAlt", false )
end )
local f11_local4 = f11_arg0:Wait( 250 )
f11_local4.onComplete = function ()
return f0_local6( f11_arg0, f11_arg1 )
end
Engine.StopMenuVideo()
end
MenuBuilder.m_types["SystemLinkMenu"] = function ( menu, controller )
local self = LUI.UIElement.new()
self.id = "SystemLinkMenu"
self._animationSets = {}
self._sequences = {}
local f22_local1 = controller and controller.controllerIndex
if not f22_local1 and not Engine.InFrontend() then
f22_local1 = self:getRootController()
end
assert( f22_local1 )
self.soundSet = "cpMainMenuDefault"
self:playSound( "menu_open" )
local f22_local2 = self
local f22_local3 = nil
if CONDITIONS.IsThirdGameMode( self ) then
f22_local3 = MenuBuilder.BuildRegisteredType( "CPMenuOuterMask", {
controllerIndex = f22_local1
} )
f22_local3.id = "OuterMaskTop"
f22_local3:SetZRotation( -168, 0 )
f22_local3:SetAnchorsAndPosition( 0, 0, 0, 1, _1080p * -190, _1080p * 76, _1080p * -320, _1080p * 100 )
self:addElement( f22_local3 )
self.OuterMaskTop = f22_local3
end
local f22_local4 = nil
if CONDITIONS.IsThirdGameMode( self ) then
f22_local4 = MenuBuilder.BuildRegisteredType( "CPMenuOuterMask", {
controllerIndex = f22_local1
} )
f22_local4.id = "OuterMaskBottom"
f22_local4:SetZRotation( -168, 0 )
f22_local4:SetAnchorsAndPosition( 0, 0, 1, 0, _1080p * -83, _1080p * 183, _1080p * -205, _1080p * 215 )
self:addElement( f22_local4 )
self.OuterMaskBottom = f22_local4
end
local f22_local5 = nil
if CONDITIONS.IsCoreMultiplayer( self ) then
f22_local5 = MenuBuilder.BuildRegisteredType( "MenuTitle", {
controllerIndex = f22_local1
} )
f22_local5.id = "MenuTitle"
f22_local5.MenuTitle:setText( ToUpperCase( Engine.Localize( "SERVER BROWSER" ) ), 0 )
f22_local5.MenuBreadcrumbs:setText( ToUpperCase( Engine.Localize( "EXE_LOCAL_PLAY" ) ), 0 )
f22_local5.Icon:SetTop( _1080p * -28.5, 0 )
f22_local5.Icon:SetBottom( _1080p * 61.5, 0 )
f22_local5:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 96, _1080p * 1056, _1080p * 54, _1080p * 134 )
self:addElement( f22_local5 )
self.MenuTitle = f22_local5
end
local ButtonHelperBar = nil
ButtonHelperBar = MenuBuilder.BuildRegisteredType( "ButtonHelperBar", {
controllerIndex = f22_local1
} )
ButtonHelperBar.id = "ButtonHelperBar"
ButtonHelperBar:SetAnchorsAndPosition( 0, 0, 1, 0, 0, 0, _1080p * -85, 0 )
self:addElement( ButtonHelperBar )
self.ButtonHelperBar = ButtonHelperBar
local SocialFeed = nil
SocialFeed = MenuBuilder.BuildRegisteredType( "SocialFeed", {
controllerIndex = f22_local1
} )
SocialFeed.id = "SocialFeed"
SocialFeed:SetAnchorsAndPosition( 0, 0, 1, 0, 0, 0, _1080p * -115, _1080p * -85 )
self:addElement( SocialFeed )
self.SocialFeed = SocialFeed
local SystemLinkMenuButtons = nil
SystemLinkMenuButtons = MenuBuilder.BuildRegisteredType( "SystemLinkMenuButtons", {
controllerIndex = f22_local1
} )
SystemLinkMenuButtons.id = "SystemLinkMenuButtons"
SystemLinkMenuButtons:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 130, _1080p * 630, _1080p * 216, _1080p * 438 )
self:addElement( SystemLinkMenuButtons )
self.SystemLinkMenuButtons = SystemLinkMenuButtons
local f22_local9 = nil
if CONDITIONS.IsThirdGameMode( self ) then
f22_local9 = MenuBuilder.BuildRegisteredType( "LobbyMembers", {
controllerIndex = f22_local1
} )
f22_local9.id = "LobbyMembers"
f22_local9:SetAlpha( 0, 0 )
f22_local9:SetAnchorsAndPosition( 1, 0, 0, 1, _1080p * -1790, _1080p * -1090, _1080p * 791.5, _1080p * 1435.5 )
self:addElement( f22_local9 )
self.LobbyMembers = f22_local9
end
local ServerBrowser = nil
ServerBrowser = MenuBuilder.BuildRegisteredType( "ServerBrowser", {
controllerIndex = f22_local1
} )
ServerBrowser.id = "ServerBrowser"
ServerBrowser:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 659, _1080p * 1790, _1080p * 216, _1080p * 885 )
self:addElement( ServerBrowser )
self.ServerBrowser = ServerBrowser
local f22_local11 = nil
if CONDITIONS.IsThirdGameMode( self ) then
f22_local11 = LUI.UIImage.new()
f22_local11.id = "BloodSplat"
f22_local11:SetAlpha( 0.5, 0 )
f22_local11:setImage( RegisterMaterial( "cp_menu_zombies_blood_splats_large" ), 0 )
f22_local11:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 48, _1080p * 678, _1080p * -71, _1080p * 441 )
self:addElement( f22_local11 )
self.BloodSplat = f22_local11
end
local f22_local12 = nil
if CONDITIONS.IsThirdGameMode( self ) then
f22_local12 = LUI.UIImage.new()
f22_local12.id = "ZombiesLogo"
f22_local12:setImage( RegisterMaterial( "cp_menu_zombies_logo" ), 0 )
f22_local12:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 60, _1080p * 740, _1080p * 34, _1080p * 434 )
self:addElement( f22_local12 )
self.ZombiesLogo = f22_local12
end
local f22_local13 = nil
if CONDITIONS.IsThirdGameMode( self ) then
f22_local13 = LUI.UIStyledText.new()
f22_local13.id = "ZomLanPartyShadow"
f22_local13:SetRGBFromInt( 0, 0 )
f22_local13:setText( Engine.Localize( "Server Browser" ), 0 )
f22_local13:SetFontSize( 36 * _1080p )
f22_local13:SetFont( FONTS.GetFont( FONTS.ZmClean.File ) )
f22_local13:SetAlignment( LUI.Alignment.Center )
f22_local13:SetOptOutRightToLeftAlignmentFlip( true )
f22_local13:SetShadowRGBFromInt( 0, 0 )
f22_local13:SetOutlineRGBFromInt( 0, 0 )
f22_local13:SetDecodeLetterLength( 25 )
f22_local13:SetDecodeMaxRandChars( 3 )
f22_local13:SetDecodeUpdatesPerLetter( 4 )
f22_local13:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 272, _1080p * 597.5, _1080p * 302, _1080p * 338 )
self:addElement( f22_local13 )
self.ZomLanPartyShadow = f22_local13
end
local f22_local14 = nil
if CONDITIONS.IsThirdGameMode( self ) then
f22_local14 = LUI.UIStyledText.new()
f22_local14.id = "ZomLanParty"
f22_local14:SetRGBFromInt( 14042667, 0 )
f22_local14:setText( Engine.Localize( "Server Browser" ), 0 )
f22_local14:SetFontSize( 36 * _1080p )
f22_local14:SetFont( FONTS.GetFont( FONTS.ZmClean.File ) )
f22_local14:SetAlignment( LUI.Alignment.Center )
f22_local14:SetOptOutRightToLeftAlignmentFlip( true )
f22_local14:SetShadowRGBFromInt( 0, 0 )
f22_local14:SetOutlineRGBFromInt( 0, 0 )
f22_local14:SetDecodeLetterLength( 25 )
f22_local14:SetDecodeMaxRandChars( 3 )
f22_local14:SetDecodeUpdatesPerLetter( 4 )
f22_local14:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 272, _1080p * 597.5, _1080p * 302, _1080p * 338 )
self:addElement( f22_local14 )
self.ZomLanParty = f22_local14
end
local MPLobbyMembersPlayercards = nil
MPLobbyMembersPlayercards = MenuBuilder.BuildRegisteredType( "MPLobbyMembersPlayercards", {
controllerIndex = f22_local1
} )
MPLobbyMembersPlayercards.id = "MPLobbyMembersPlayercards"
MPLobbyMembersPlayercards:SetAnchorsAndPosition( 0, 1, 1, 0, _1080p * 130, _1080p * 630, _1080p * -255, _1080p * -189 )
self:addElement( MPLobbyMembersPlayercards )
self.MPLobbyMembersPlayercards = MPLobbyMembersPlayercards
local ButtonDescriptionText = nil
ButtonDescriptionText = MenuBuilder.BuildRegisteredType( "ButtonDescriptionText", {
controllerIndex = f22_local1
} )
ButtonDescriptionText.id = "ButtonDescriptionText"
ButtonDescriptionText:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 130, _1080p * 550, _1080p * 334, _1080p * 366 )
self:addElement( ButtonDescriptionText )
self.ButtonDescriptionText = ButtonDescriptionText
self._animationSets.DefaultAnimationSet = function ()
ServerBrowser:RegisterAnimationSequence( "DefaultSequence", {
{
function ()
return self.ServerBrowser:SetAlpha( 1, 0 )
end
},
{
function ()
return self.ServerBrowser:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 659, _1080p * 1790, _1080p * 216, _1080p * 885, 0 )
end
}
} )
self._sequences.DefaultSequence = function ()
ServerBrowser:AnimateSequence( "DefaultSequence" )
end
SystemLinkMenuButtons:RegisterAnimationSequence( "IntroCore", {
{
function ()
return self.SystemLinkMenuButtons:SetAlpha( 1, 0 )
end
},
{
function ()
return self.SystemLinkMenuButtons:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 130, _1080p * 630, _1080p * 216, _1080p * 438, 0 )
end
}
} )
ServerBrowser:RegisterAnimationSequence( "IntroCore", {
{
function ()
return self.ServerBrowser:SetAlpha( 1, 0 )
end
},
{
function ()
return self.ServerBrowser:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 659, _1080p * 1790, _1080p * 216, _1080p * 885, 0 )
end
}
} )
self._sequences.IntroCore = function ()
SystemLinkMenuButtons:AnimateSequence( "IntroCore" )
ServerBrowser:AnimateSequence( "IntroCore" )
end
end
self._animationSets.ThirdGameModeAnimationSet = function ()
self._sequences.DefaultSequence = function ()
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local3:RegisterAnimationSequence( "Intro", {
{
function ()
return self.OuterMaskTop:SetAlpha( 0, 0 )
end,
function ()
return self.OuterMaskTop:SetAlpha( 0.6, 500, LUI.EASING.outBack )
end
},
{
function ()
return self.OuterMaskTop:SetAnchorsAndPosition( 0, 0, 0, 1, _1080p * -190, _1080p * 76, _1080p * -635, _1080p * -215, 0 )
end,
function ()
return self.OuterMaskTop:SetAnchorsAndPosition( 0, 0, 0, 1, _1080p * -190, _1080p * 76, _1080p * -635, _1080p * -215, 500, LUI.EASING.outBack )
end,
function ()
return self.OuterMaskTop:SetAnchorsAndPosition( 0, 0, 0, 1, _1080p * -190, _1080p * 76, _1080p * -320, _1080p * 100, 500, LUI.EASING.outQuadratic )
end,
function ()
return self.OuterMaskTop:SetAnchorsAndPosition( 0, 0, 0, 1, _1080p * -190, _1080p * 76, _1080p * -320, _1080p * 100, 139 )
end,
function ()
return self.OuterMaskTop:SetAnchorsAndPosition( 0, 0, 0, 1, _1080p * -190, _1080p * 76, _1080p * -280, _1080p * 140, 9 )
end,
function ()
return self.OuterMaskTop:SetAnchorsAndPosition( 0, 0, 0, 1, _1080p * -190, _1080p * 76, _1080p * -320, _1080p * 100, 200, LUI.EASING.outQuadratic )
end
}
} )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local4:RegisterAnimationSequence( "Intro", {
{
function ()
return self.OuterMaskBottom:SetAlpha( 0, 0 )
end,
function ()
return self.OuterMaskBottom:SetAlpha( 0.6, 500, LUI.EASING.outBack )
end
},
{
function ()
return self.OuterMaskBottom:SetAnchorsAndPosition( 0, 0, 1, 0, _1080p * -83, _1080p * 183, _1080p * 225, _1080p * 645, 0 )
end,
function ()
return self.OuterMaskBottom:SetAnchorsAndPosition( 0, 0, 1, 0, _1080p * -83, _1080p * 183, _1080p * 225, _1080p * 645, 500, LUI.EASING.outBack )
end,
function ()
return self.OuterMaskBottom:SetAnchorsAndPosition( 0, 0, 1, 0, _1080p * -83, _1080p * 183, _1080p * -205, _1080p * 215, 500, LUI.EASING.outQuadratic )
end,
function ()
return self.OuterMaskBottom:SetAnchorsAndPosition( 0, 0, 1, 0, _1080p * -83, _1080p * 183, _1080p * -205, _1080p * 215, 139 )
end,
function ()
return self.OuterMaskBottom:SetAnchorsAndPosition( 0, 0, 1, 0, _1080p * -83, _1080p * 183, _1080p * -245, _1080p * 175, 9 )
end,
function ()
return self.OuterMaskBottom:SetAnchorsAndPosition( 0, 0, 1, 0, _1080p * -83, _1080p * 183, _1080p * -205, _1080p * 215, 200, LUI.EASING.outQuadratic )
end
}
} )
end
SystemLinkMenuButtons:RegisterAnimationSequence( "Intro", {
{
function ()
return self.SystemLinkMenuButtons:SetAlpha( 0, 0 )
end,
function ()
return self.SystemLinkMenuButtons:SetAlpha( 0, 1220 )
end,
function ()
return self.SystemLinkMenuButtons:SetAlpha( 1, 490 )
end
},
{
function ()
return self.SystemLinkMenuButtons:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 130, _1080p * 630, _1080p * 406, _1080p * 628, 0 )
end
}
} )
if CONDITIONS.IsThirdGameMode( self ) then
f22_local9:RegisterAnimationSequence( "Intro", {
{
function ()
return self.LobbyMembers:SetAlpha( 0, 0 )
end,
function ()
return self.LobbyMembers:SetAlpha( 0, 2000 )
end
}
} )
end
ServerBrowser:RegisterAnimationSequence( "Intro", {
{
function ()
return self.ServerBrowser:SetAlpha( 0, 0 )
end
},
{
function ()
return self.ServerBrowser:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 789, _1080p * 1920, _1080p * 133, _1080p * 802, 0 )
end
}
} )
if CONDITIONS.IsThirdGameMode( self ) then
f22_local11:RegisterAnimationSequence( "Intro", {
{
function ()
return self.BloodSplat:SetAlpha( 0, 0 )
end,
function ()
return self.BloodSplat:SetAlpha( 0, 1000 )
end,
function ()
return self.BloodSplat:SetAlpha( 0, 140 )
end,
function ()
return self.BloodSplat:SetAlpha( 0.5, 10 )
end,
function ()
return self.BloodSplat:SetAlpha( 0.5, 200, LUI.EASING.outQuadratic )
end,
function ()
return self.BloodSplat:SetAlpha( 0.4, 650, LUI.EASING.outQuadratic )
end
},
{
function ()
return self.BloodSplat:SetZRotation( -5, 1000 )
end,
function ()
return self.BloodSplat:SetZRotation( -5, 150 )
end,
function ()
return self.BloodSplat:SetZRotation( 0, 850, LUI.EASING.outQuadratic )
end
},
{
function ()
return self.BloodSplat:playSound( "splat", false, 1150 )
end
},
{
function ()
return self.BloodSplat:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 218.92, _1080p * 547.08, _1080p * 51.65, _1080p * 318.35, 1149 )
end,
function ()
return self.BloodSplat:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 88, _1080p * 718, _1080p * -71, _1080p * 441, 70 )
end,
function ()
return self.BloodSplat:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 80, _1080p * 710, _1080p * -71, _1080p * 441, 129, LUI.EASING.outQuadratic )
end
}
} )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local12:RegisterAnimationSequence( "Intro", {
{
function ()
return self.ZombiesLogo:SetAlpha( 0, 0 )
end,
function ()
return self.ZombiesLogo:SetAlpha( 0, 1000 )
end,
function ()
return self.ZombiesLogo:SetAlpha( 1, 150 )
end
},
{
function ()
return self.ZombiesLogo:SetZRotation( 5, 1000 )
end,
function ()
return self.ZombiesLogo:SetZRotation( 5, 150 )
end,
function ()
return self.ZombiesLogo:SetZRotation( 0, 850, LUI.EASING.outQuadratic )
end
},
{
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * -429.8, _1080p * 1249.8, _1080p * -260, _1080p * 728, 1000 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 80, _1080p * 720, _1080p * 51.65, _1080p * 416.35, 149 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 70, _1080p * 750, _1080p * 34, _1080p * 434, 200 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 70, _1080p * 750, _1080p * 36, _1080p * 436, 49 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 68, _1080p * 748, _1080p * 35.68, _1080p * 435.68, 50 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 70.35, _1080p * 750.35, _1080p * 33.39, _1080p * 433.39, 49 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 70.28, _1080p * 750.28, _1080p * 31.51, _1080p * 431.51, 49 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 68.22, _1080p * 748.22, _1080p * 34.03, _1080p * 434.03, 50 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 70.64, _1080p * 750.64, _1080p * 34.02, _1080p * 434.02, 49 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 70.47, _1080p * 750.47, _1080p * 36.01, _1080p * 436.01, 50 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 68.33, _1080p * 748.33, _1080p * 35.4, _1080p * 435.4, 49 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 68.93, _1080p * 748.93, _1080p * 32.9, _1080p * 432.9, 59 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 69.4, _1080p * 749.4, _1080p * 35.38, _1080p * 435.38, 40 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 69.73, _1080p * 749.73, _1080p * 36.61, _1080p * 436.61, 49 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 71.93, _1080p * 751.93, _1080p * 34.65, _1080p * 434.65, 50 )
end,
function ()
return self.ZombiesLogo:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 70, _1080p * 750, _1080p * 34, _1080p * 434, 49, LUI.EASING.outQuadratic )
end
}
} )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local13:RegisterAnimationSequence( "Intro", {
{
function ()
return self.ZomLanPartyShadow:SetAlpha( 0, 0 )
end,
function ()
return self.ZomLanPartyShadow:SetAlpha( 0, 1710 )
end,
function ()
return self.ZomLanPartyShadow:SetAlpha( 1, 290 )
end
}
} )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local14:RegisterAnimationSequence( "Intro", {
{
function ()
return self.ZomLanParty:SetAlpha( 0, 0 )
end,
function ()
return self.ZomLanParty:SetAlpha( 0, 1220 )
end,
function ()
return self.ZomLanParty:SetAlpha( 1, 490 )
end
},
{
function ()
return self.ZomLanParty:SetRGBFromInt( 14042667, 0 )
end
}
} )
end
MPLobbyMembersPlayercards:RegisterAnimationSequence( "Intro", {
{
function ()
return self.MPLobbyMembersPlayercards:SetAlpha( 0, 0 )
end,
function ()
return self.MPLobbyMembersPlayercards:SetAlpha( 0, 700 )
end,
function ()
return self.MPLobbyMembersPlayercards:SetAlpha( 0, 1010 )
end,
function ()
return self.MPLobbyMembersPlayercards:SetAlpha( 1, 290 )
end
}
} )
ButtonDescriptionText:RegisterAnimationSequence( "Intro", {
{
function ()
return self.ButtonDescriptionText:SetAlpha( 0, 0 )
end,
function ()
return self.ButtonDescriptionText:SetAlpha( 0, 1220 )
end,
function ()
return self.ButtonDescriptionText:SetAlpha( 1, 490 )
end
},
{
function ()
return self.ButtonDescriptionText:SetRGBFromTable( SWATCHES.text.primaryText, 0 )
end
},
{
function ()
return self.ButtonDescriptionText:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 132, _1080p * 552, _1080p * 524, _1080p * 556, 0 )
end
}
} )
self._sequences.Intro = function ()
if CONDITIONS.IsThirdGameMode( self ) then
f22_local3:AnimateSequence( "Intro" )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local4:AnimateSequence( "Intro" )
end
SystemLinkMenuButtons:AnimateSequence( "Intro" )
if CONDITIONS.IsThirdGameMode( self ) then
f22_local9:AnimateSequence( "Intro" )
end
ServerBrowser:AnimateSequence( "Intro" )
if CONDITIONS.IsThirdGameMode( self ) then
f22_local11:AnimateSequence( "Intro" )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local12:AnimateSequence( "Intro" )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local13:AnimateSequence( "Intro" )
end
if CONDITIONS.IsThirdGameMode( self ) then
f22_local14:AnimateSequence( "Intro" )
end
MPLobbyMembersPlayercards:AnimateSequence( "Intro" )
ButtonDescriptionText:AnimateSequence( "Intro" )
end
ServerBrowser:RegisterAnimationSequence( "DisplayServerBrowser", {
{
function ()
return self.ServerBrowser:SetAlpha( 0, 0 )
end,
function ()
return self.ServerBrowser:SetAlpha( 1, 80 )
end
},
{
function ()
return self.ServerBrowser:SetAnchorsAndPosition( 0, 1, 0, 1, _1080p * 727, _1080p * 1858, _1080p * 216, _1080p * 885, 0 )
end
}
} )
self._sequences.DisplayServerBrowser = function ()
ServerBrowser:AnimateSequence( "DisplayServerBrowser" )
end
ServerBrowser:RegisterAnimationSequence( "HideServerBrowser", {
{
function ()
return self.ServerBrowser:SetAlpha( 1, 0 )
end,
function ()
return self.ServerBrowser:SetAlpha( 0, 80 )
end
}
} )
self._sequences.HideServerBrowser = function ()
ServerBrowser:AnimateSequence( "HideServerBrowser" )
end
end
self._animationSets.DefaultAnimationSet()
self.addButtonHelperFunction = function ( f117_arg0, f117_arg1 )
f117_arg0:AddButtonHelperText( {
helper_text = Engine.Localize( "LUA_MENU_SELECT" ),
button_ref = "button_primary",
side = "left",
clickable = true
} )
f117_arg0:AddButtonHelperText( {
helper_text = Engine.Localize( "LUA_MENU_BACK" ),
button_ref = "button_secondary",
side = "left",
priority = 1,
clickable = true
} )
f117_arg0:AddButtonHelperText( {
helper_text = Engine.Localize( "LUA_MENU_OPTIONS_CAPS" ),
button_ref = "button_start",
side = "left",
priority = 4,
clickable = true
} )
end
self:addEventHandler( "menu_create", self.addButtonHelperFunction )
local bindButton = LUI.UIBindButton.new()
bindButton.id = "selfBindButton"
self:addElement( bindButton )
self.bindButton = bindButton
f0_local7( self, f22_local1, controller )
ACTIONS.AnimateSequence( self, "DefaultSequence" )
if CONDITIONS.IsThirdGameMode( self ) then
ACTIONS.SetAnimationSet( self, "ThirdGameModeAnimationSet" )
ACTIONS.AnimateSequence( self, "Intro" )
end
if CONDITIONS.IsCoreMultiplayer( self ) then
ACTIONS.SetAnimationSet( self, "DefaultAnimationSet" )
ACTIONS.AnimateSequence( self, "IntroCore" )
end
return self
end
LUI.FlowManager.RegisterStackPushBehaviour( "SystemLinkMenu", PushFunc )
LUI.FlowManager.RegisterStackPopBehaviour( "SystemLinkMenu", f0_local3 )