306 lines
9.8 KiB
Lua
306 lines
9.8 KiB
Lua
if (game:issingleplayer() or not Engine.InFrontend()) then
|
|
return
|
|
end
|
|
|
|
package.loaded["LUI.mp_menus.MPLivePublicLobby"].LivePublicLobbyOptionsFeeder = function( f18_arg0 )
|
|
local f18_local0 = Lobby.GetVoteMapName( MapVoting.MapA.refNum )
|
|
local f18_local1 = Lobby.GetVoteMapName( MapVoting.MapB.refNum )
|
|
local f18_local2 = Lobby.GetVoteMapImage( MapVoting.MapA.refNum )
|
|
local f18_local3 = Lobby.GetVoteMapImage( MapVoting.MapB.refNum )
|
|
local f18_local4 = LUI.mp_menus.Aliens.FixGameModeTextForChaos( Lobby.GetVoteMapGametype( MapVoting.MapA.refNum ) )
|
|
local f18_local5 = LUI.mp_menus.Aliens.FixGameModeTextForChaos( Lobby.GetVoteMapGametype( MapVoting.MapB.refNum ) )
|
|
local f18_local6 = LUI.mp_menus.MPLivePublicLobby.IsVotingFinished()
|
|
local f18_local7 = not LUI.mp_menus.MPLivePublicLobby.GetLobbyLeaderboardStatus()
|
|
local f18_local8 = Engine.IsAliensMode()
|
|
local f18_local9 = SvS.IsSvS()
|
|
if not f18_local9 then
|
|
f18_local9 = Engine.GetDvarBool( "squad_match" )
|
|
end
|
|
local f18_local10 = 14
|
|
local f18_local11 = {}
|
|
if not f18_arg0.slot then
|
|
DebugPrint( "[WARNING] CAC: using cac slot index 0, this is only ok if you are editing a menu" )
|
|
local f18_local12 = 0
|
|
end
|
|
local f18_local13 = Cac.GetCustomClassLoc( f18_arg0.classLocation )
|
|
|
|
|
|
-- Add Start Button to Public Match Menu
|
|
function ReadyUpAction( f11_arg0, f11_arg1 )
|
|
Engine.SetDvarInt( "party_minplayers", 1)
|
|
end
|
|
|
|
if not f18_local9 then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "ready_up_button_id",
|
|
disabledFunc = false,
|
|
properties = {
|
|
disabledFunc = false,
|
|
button_text = Engine.Localize( "@LUA_MENU_START_GAME_CAPS" ),
|
|
button_action_func = ReadyUpAction,
|
|
desc_text = Engine.Localize( "@LUA_MENU_DESC_READY_UP" ),
|
|
}
|
|
}
|
|
end
|
|
|
|
if f18_local8 then
|
|
local f18_local14 = Engine.GetDvarInt( "pt_AliensReadyUpPublicInUse" )
|
|
if f18_local14 ~= nil and f18_local14 ~= 0 then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "ready_up_button_id",
|
|
disabledFunc = LUI.mp_menus.MPLivePublicLobby.GetReadyUpDisableValue,
|
|
properties = {
|
|
disabledFunc = LUI.mp_menus.MPLivePublicLobby.GetReadyUpDisableValue,
|
|
button_text = "",
|
|
button_action_func = LUI.mp_menus.MPLivePublicLobby.ReadyUpAction,
|
|
desc_text = LUI.mp_menus.MPLivePublicLobby.GetReadyUpDescText,
|
|
additional_handlers = {
|
|
recheck_start_button_lock = LUI.mp_menus.MPLivePublicLobby.RefreshButtonDisable,
|
|
element_refresh = LUI.mp_menus.MPLivePublicLobby.UpdateReadyUpText,
|
|
menu_create = LUI.mp_menus.MPLivePublicLobby.UpdateReadyUpText,
|
|
ready_up_button_refresh = LUI.mp_menus.MPLivePublicLobby.UpdateReadyUpText
|
|
}
|
|
},
|
|
children = {
|
|
{
|
|
type = "UITimer",
|
|
id = "ready_up_button_refresh_timer_id",
|
|
properties = {
|
|
event = "ready_up_button_refresh",
|
|
interval = 100,
|
|
disposable = false,
|
|
broadcastToRoot = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
end
|
|
end
|
|
if not f18_local8 then
|
|
if not SvS.IsSvS() or SvS.GetCurrentSquadModeInfo() ~= SvS.SquadModes.SquadAssault then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "create_squad_button_id",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_CREATE_A_CLASS_CAPS" ),
|
|
button_action_func = LUI.mp_menus.MPLivePublicLobby.CreateSquadAction,
|
|
desc_text = Engine.Localize( "@LUA_MENU_DESC_CREATE_A_CLASS" )
|
|
}
|
|
}
|
|
end
|
|
else
|
|
f18_local11[#f18_local11 + 1] = LUI.mp_menus.AliensLoadout.GetAliensLoadoutButton()
|
|
end
|
|
if not f18_local8 and not f18_local9 then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "operations_button_id",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_OPERATIONS_TITLE" ),
|
|
button_action_func = LUI.mp_menus.MPBarracks.BarrackOperationsAction,
|
|
desc_text = Engine.Localize( "@LUA_MENU_DESC_CHALLENGES" )
|
|
}
|
|
}
|
|
end
|
|
if not f18_local9 and not f18_local8 then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "barracks_button_id",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_BARRACKS_CAPS" ),
|
|
button_action_func = LUI.mp_menus.MPLivePublicLobby.BarracksAction,
|
|
desc_text = Clan.IsEnabled() and Engine.Localize( "@LUA_MENU_DESC_BARRACKS" ) or Engine.Localize( "@LUA_MENU_DESC_BARRACKS_PRIVATE" )
|
|
}
|
|
}
|
|
end
|
|
-- Disable Leaderboard (Code Removed)
|
|
if f18_local9 then
|
|
local f18_local14 = SvS.GetCurrentSquadModeInfo()
|
|
if f18_local14 and f18_local14.HasReports then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "squad_reports_button_id",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_SQUAD_REPORTS" ),
|
|
desc_text = Engine.Localize( "@LUA_MENU_SQUAD_REPORTS_DESC" ),
|
|
button_action_func = function ( f19_arg0, f19_arg1 )
|
|
LUI.FlowManager.RequestAddMenu( f19_arg0, "squad_reports_menu", false, f19_arg1.controller, false, {
|
|
controller = f19_arg1.controller,
|
|
fromLiveLobby = true
|
|
} )
|
|
end
|
|
}
|
|
}
|
|
end
|
|
if f18_local14 and f18_local14.HasCompare then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "squad_compare_button_id",
|
|
disabled = LUI.mp_menus.MPLivePublicLobby.CheckSquadCompareDisabled(),
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_SQUAD_COMPARE" ),
|
|
desc_text = Engine.Localize( "@LUA_MENU_SQUAD_COMPARE_DESC" ),
|
|
button_action_func = function ( f20_arg0, f20_arg1 )
|
|
if Squad.FoundMatch() then
|
|
local f20_local0 = SvS.BuildSquadCompareData( f20_arg1.controller )
|
|
if f20_local0 then
|
|
LUI.FlowManager.RequestAddMenu( f20_arg0, "squad_report_detail_menu", false, f20_arg1.controller, false, {
|
|
reportData = f20_local0,
|
|
controller = f20_arg1.controller,
|
|
isCompare = true
|
|
} )
|
|
end
|
|
end
|
|
end
|
|
},
|
|
handlers = {
|
|
check_button_disable_status = function ( f21_arg0, f21_arg1 )
|
|
local f21_local0 = f21_arg0
|
|
local f21_local1 = f21_arg0.processEvent
|
|
local f21_local2 = {}
|
|
local f21_local3
|
|
if not LUI.mp_menus.MPLivePublicLobby.CheckSquadCompareDisabled() then
|
|
f21_local3 = "enable"
|
|
if not f21_local3 then
|
|
|
|
else
|
|
f21_local2.name = f21_local3
|
|
f21_local1( f21_local0, f21_local2 )
|
|
end
|
|
end
|
|
f21_local3 = "disable"
|
|
end
|
|
}
|
|
}
|
|
end
|
|
end
|
|
if f18_local9 then
|
|
local f18_local14 = SvS.GetCurrentSquadModeInfo()
|
|
if not f18_local14.HasLeaderboard then
|
|
|
|
else
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "leaderboards_button_id",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_LEADERBOARDS_CAPS" ),
|
|
desc_text = Engine.Localize( "@LUA_MENU_DESC_LEADERBOARDS" ),
|
|
button_action_func = function ( f22_arg0, f22_arg1 )
|
|
if Engine.IsUserAGuest( f22_arg1.controller ) then
|
|
LUI.FlowManager.RequestPopupMenu( f22_arg0, "popup_no_guest", true, f22_arg1.controller )
|
|
else
|
|
LUI.FlowManager.RequestAddMenu( f22_arg0, "leaderboards", true, f22_arg1.controller )
|
|
end
|
|
end
|
|
}
|
|
}
|
|
end
|
|
end
|
|
if f18_local8 then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIGenericButton",
|
|
id = "leaderboards_button_id",
|
|
properties = {
|
|
button_text = Engine.Localize( "@LUA_MENU_LEADERBOARDS_CAPS" ),
|
|
desc_text = Engine.Localize( "@LUA_MENU_DESC_LEADERBOARDS" ),
|
|
button_action_func = function ( f22_arg0, f22_arg1 )
|
|
if Engine.IsUserAGuest( f22_arg1.controller ) then
|
|
LUI.FlowManager.RequestPopupMenu( f22_arg0, "popup_no_guest", true, f22_arg1.controller )
|
|
else
|
|
LUI.FlowManager.RequestAddMenu( f22_arg0, "leaderboards", true, f22_arg1.controller )
|
|
end
|
|
end
|
|
}
|
|
}
|
|
end
|
|
if f18_local8 and LUI.mp_menus.Aliens.CanAccessIntelMenu() then
|
|
f18_local11[#f18_local11 + 1] = LUI.mp_menus.AliensIntel.GetAliensIntelButton()
|
|
end
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "button_desc_text",
|
|
id = "public_lobby_description_id",
|
|
properties = {
|
|
lines = 1
|
|
}
|
|
}
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIElement",
|
|
id = "just_a_spacer_id",
|
|
focusable = false,
|
|
states = {
|
|
default = {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = f18_local10
|
|
}
|
|
}
|
|
}
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UITimer",
|
|
id = "check_status_tmr",
|
|
properties = {
|
|
event = "check_button_disable_status",
|
|
interval = 500,
|
|
disposable = false,
|
|
broadcastToRoot = true
|
|
}
|
|
}
|
|
if not f18_local9 and not f18_local6 then
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "map_button",
|
|
id = "map_button_1",
|
|
properties = {
|
|
mapVoteIndex = MapVoting.MapA.refNum,
|
|
mapImage = RegisterMaterial( f18_local2 ),
|
|
mapName = f18_local0,
|
|
gamemode = f18_local4,
|
|
votesText = Engine.GetDvarString( "party_nextMapVoteStatus" ),
|
|
votesDvarName = "party_nextMapVoteStatus",
|
|
action = function ( f23_arg0, f23_arg1 )
|
|
LUI.mp_menus.MPLivePublicLobby.VoteForMap( f23_arg0, f23_arg1.controller, MapVoting.MapA.voteIndex )
|
|
end
|
|
}
|
|
}
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "UIElement",
|
|
id = "just_another_spacer_id",
|
|
focusable = false,
|
|
states = {
|
|
default = {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = 40
|
|
}
|
|
}
|
|
}
|
|
f18_local11[#f18_local11 + 1] = {
|
|
type = "map_button",
|
|
id = "map_button_2",
|
|
properties = {
|
|
mapVoteIndex = MapVoting.MapB.refNum,
|
|
mapImage = RegisterMaterial( f18_local3 ),
|
|
mapName = f18_local1,
|
|
gamemode = f18_local5,
|
|
votesText = Engine.GetDvarString( "party_alternateMapVoteStatus" ),
|
|
votesDvarName = "party_alternateMapVoteStatus",
|
|
action = function ( f24_arg0, f24_arg1 )
|
|
LUI.mp_menus.MPLivePublicLobby.VoteForMap( f24_arg0, f24_arg1.controller, MapVoting.MapB.voteIndex )
|
|
end
|
|
}
|
|
}
|
|
end
|
|
return f18_local11
|
|
end
|