2454 lines
78 KiB
Lua
2454 lines
78 KiB
Lua
local f0_local0 = module
|
|
local f0_local1, f0_local2 = ...
|
|
f0_local0( f0_local1, package.seeall )
|
|
CoD.PrintModuleLoad( _NAME )
|
|
function UsingSvSPlayercards( f1_arg0 )
|
|
assert( f1_arg0 ~= nil )
|
|
local f1_local0 = SvS.IsSvS()
|
|
if f1_local0 then
|
|
if SvS.GetCurrentSquadModeInfo() ~= SvS.SquadModes.SquadVsSquad or f1_arg0 == Lobby.MemberListStates.Prelobby then
|
|
f1_local0 = false
|
|
else
|
|
f1_local0 = true
|
|
end
|
|
end
|
|
return f1_local0
|
|
end
|
|
|
|
function HideEmptyLobbySlots( f2_arg0 )
|
|
local f2_local0 = UsingSvSPlayercards( f2_arg0 )
|
|
if not f2_local0 then
|
|
f2_local0 = SvS.IsSvS()
|
|
if f2_local0 then
|
|
f2_local0 = SvS.GetCurrentSquadModeInfo() == SvS.SquadModes.SquadAssault
|
|
end
|
|
end
|
|
return f2_local0
|
|
end
|
|
|
|
function HandleRefocusMemberList( f3_arg0, f3_arg1 )
|
|
f3_arg0:clearSavedState()
|
|
local f3_local0 = f3_arg0:getFirstChild()
|
|
while f3_local0 ~= nil do
|
|
local f3_local1 = f3_local0.properties
|
|
if f3_local1 and f3_local1.isActiveMemberSlot then
|
|
if f3_arg1.inFocus then
|
|
f3_local0:processEvent( {
|
|
name = "gain_focus"
|
|
} )
|
|
break
|
|
end
|
|
LUI.savedMenuStates[f3_arg0.id] = {}
|
|
LUI.savedMenuStates[f3_arg0.id][1] = {
|
|
id = f3_local0.id,
|
|
data = f3_local0.saveData
|
|
}
|
|
end
|
|
f3_local0 = f3_local0:getNextSibling()
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberRestoreFocus( f4_arg0, f4_arg1 )
|
|
local f4_local0 = f4_arg0.properties
|
|
if f4_arg0.id == f4_arg1.id then
|
|
if f4_local0.isActiveMemberSlot then
|
|
f4_arg0:processEvent( {
|
|
name = "gain_focus"
|
|
} )
|
|
else
|
|
local f4_local1 = f4_arg0:getParent()
|
|
f4_local1:processEvent( {
|
|
name = "refocus_member_list",
|
|
inFocus = true
|
|
} )
|
|
end
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
|
|
function LobbyMemberGetLocalPlayerTeam( f5_arg0 )
|
|
local f5_local0 = Engine.GetFirstActiveController()
|
|
if Lobby.GetLocalPlayerTeam then
|
|
return Lobby.GetLocalPlayerTeam( f5_arg0, f5_local0 )
|
|
else
|
|
return Teams.allies
|
|
end
|
|
end
|
|
|
|
function LobbyMemberGetSlot( f6_arg0, f6_arg1 )
|
|
if f6_arg0 == Lobby.MemberListStates.Teams then
|
|
local f6_local0 = Teams.allies
|
|
local f6_local1 = Teams.axis
|
|
local f6_local2 = LobbyMemberGetLocalPlayerTeam( f6_arg0 )
|
|
if f6_local2 == Teams.axis or f6_local2 == Teams.allies then
|
|
f6_local0 = f6_local2
|
|
f6_local1 = otherTeamLookup[f6_local2]
|
|
end
|
|
local f6_local3 = Lobby.GetMemberCount( f6_arg0, f6_local0 )
|
|
local f6_local4 = Lobby.GetMemberCount( f6_arg0, f6_local1 )
|
|
local f6_local5 = Lobby.GetMemberCount( f6_arg0, Teams.spectator )
|
|
if f6_arg1 - 1 < f6_local3 then
|
|
return f6_arg1 - 1
|
|
elseif f6_arg1 - 1 < f6_local3 + f6_local4 then
|
|
return f6_arg1 - f6_local3 - 1
|
|
elseif f6_arg1 - 1 < f6_local3 + f6_local4 + f6_local5 then
|
|
return f6_arg1 - f6_local3 - f6_local4 - 1
|
|
else
|
|
return f6_arg1 - f6_local3 - f6_local4 - f6_local5 - 1
|
|
end
|
|
else
|
|
return f6_arg1 - 1
|
|
end
|
|
end
|
|
|
|
function LobbyMemberGetTeam( f7_arg0, f7_arg1 )
|
|
if f7_arg0 == Lobby.MemberListStates.Teams then
|
|
local f7_local0 = Teams.allies
|
|
local f7_local1 = Teams.axis
|
|
local f7_local2 = LobbyMemberGetLocalPlayerTeam( f7_arg0 )
|
|
if f7_local2 == Teams.axis or f7_local2 == Teams.allies then
|
|
f7_local0 = f7_local2
|
|
f7_local1 = otherTeamLookup[f7_local2]
|
|
end
|
|
local f7_local3 = Lobby.GetMemberCount( f7_arg0, f7_local0 )
|
|
local f7_local4 = Lobby.GetMemberCount( f7_arg0, f7_local1 )
|
|
local f7_local5 = Lobby.GetMemberCount( f7_arg0, Teams.spectator )
|
|
if f7_arg1 - 1 < f7_local3 then
|
|
return f7_local0
|
|
elseif f7_arg1 - 1 < f7_local3 + f7_local4 then
|
|
return f7_local1
|
|
elseif f7_arg1 - 1 < f7_local3 + f7_local4 + f7_local5 then
|
|
return Teams.spectator
|
|
else
|
|
return Teams.free
|
|
end
|
|
else
|
|
return Teams.free
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberButtonRefresh( f8_arg0, f8_arg1 )
|
|
local f8_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f8_arg0 )
|
|
f8_arg0.properties.memberListState = LobbyMemberListGetState( f8_arg0.properties.memberListState )
|
|
f8_arg0.properties.memberSlot = LobbyMemberGetSlot( f8_arg0.properties.memberListState, f8_arg0.properties.memberIndex )
|
|
f8_arg0.properties.team = LobbyMemberGetTeam( f8_arg0.properties.memberListState, f8_arg0.properties.memberIndex )
|
|
f8_arg0.properties.isActiveMemberSlot = Lobby.IsActiveMemberSlot( f8_arg0.properties.memberIndex - 1 )
|
|
if not f8_local0.selectedMemberUniqueId and f8_arg0.properties.memberIndex == 0 then
|
|
f8_local0.selectedMemberUniqueId = GetLobbyMemberUniqueId( f8_arg0.properties.memberListState, f8_arg0.properties.memberSlot, f8_arg0.properties.team )
|
|
end
|
|
if SvS.IsSvS() and SvS.GetCurrentSquadModeInfo() == SvS.SquadModes.SquadAssault then
|
|
f8_arg0:dispatchEventToParent( {
|
|
name = "update_squad_member",
|
|
playerElement = f8_arg0,
|
|
team = f8_arg0.properties.team,
|
|
memberSlot = f8_arg0.properties.memberSlot,
|
|
memberListState = f8_arg0.properties.memberListState
|
|
} )
|
|
end
|
|
local f8_local1 = f8_arg0.properties.isActiveMemberSlot
|
|
f8_arg0:processEvent( {
|
|
name = "lobby_member_update_ss_prompt",
|
|
memberListState = f8_arg0.properties.memberListState,
|
|
immediate = true,
|
|
isActiveMemberSlot = f8_local1
|
|
} )
|
|
if f8_local1 then
|
|
f8_arg0:processEvent( {
|
|
name = "lobby_member_update_content",
|
|
memberListState = f8_arg0.properties.memberListState,
|
|
memberSlot = f8_arg0.properties.memberSlot,
|
|
team = f8_arg0.properties.team,
|
|
immediate = true
|
|
} )
|
|
f8_arg0:processEvent( {
|
|
name = "lobby_member_update_bg",
|
|
memberListState = f8_arg0.properties.memberListState,
|
|
team = f8_arg0.properties.team,
|
|
isActiveMemberSlot = f8_local1,
|
|
dispatchChildren = true,
|
|
immediate = true
|
|
} )
|
|
end
|
|
end
|
|
|
|
function LobbyMemberIsSplitscreenPrompt( f9_arg0, f9_arg1 )
|
|
if UsingSvSPlayercards( f9_arg0 ) then
|
|
return false
|
|
elseif f9_arg0 == Lobby.MemberListStates.Prelobby and Lobby.IsPrivatePartyHost() then
|
|
local f9_local0 = Lobby.GetNonPlayingLocalClientCount()
|
|
local f9_local1 = Lobby.GetMemberCount( f9_arg0 )
|
|
if f9_local1 > 0 and f9_local1 < f9_arg1 and f9_arg1 <= f9_local1 + f9_local0 then
|
|
return true
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
function HandleLobbyMemberButtonIsActive( f10_arg0, f10_arg1 )
|
|
local f10_local0 = f10_arg0.properties
|
|
if not (not f10_local0.isActiveMemberSlot and ((f10_local0.memberListState == Lobby.MemberListStates.Prelobby) or not Lobby.IsSearching() or f10_local0.memberIndex > Lobby.GetMemberCount( f10_local0.memberListState, Teams.free ) or HideEmptyLobbySlots( f10_local0.memberListState ))) or LobbyMemberIsSplitscreenPrompt( f10_local0.memberListState, f10_local0.memberIndex ) then
|
|
f10_arg0:animateToState( "default", 0 )
|
|
else
|
|
f10_arg0:animateToState( "hidden", 0 )
|
|
end
|
|
if f10_local0.isActiveMemberSlot then
|
|
f10_arg0:makeFocusable()
|
|
if not f10_local0.wasActiveMemberSlot and not f10_local0.isLocalMember then
|
|
f10_arg0:dispatchEventToRoot( {
|
|
name = "update_double_xp_icon"
|
|
} )
|
|
Engine.PlaySound( CoD.SFX.MPLobbyPlayerJoin )
|
|
end
|
|
f10_local0.wasActiveMemberSlot = true
|
|
else
|
|
if f10_local0.isFocused then
|
|
f10_arg0:processEvent( {
|
|
name = "lose_focus"
|
|
} )
|
|
local f10_local1 = f10_arg0:getParent()
|
|
f10_local1:processEvent( {
|
|
name = "refocus_member_list",
|
|
inFocus = true
|
|
} )
|
|
else
|
|
local f10_local1 = f10_arg0:getParent()
|
|
if LUI.savedMenuStates[f10_local1.id] ~= nil then
|
|
for f10_local5, f10_local6 in ipairs( LUI.savedMenuStates[f10_local1.id] ) do
|
|
if f10_local6.id == f10_arg0.id then
|
|
f10_local1:processEvent( {
|
|
name = "refocus_member_list",
|
|
inFocus = false
|
|
} )
|
|
break
|
|
end
|
|
end
|
|
end
|
|
end
|
|
if f10_local0.wasActiveMemberSlot then
|
|
f10_arg0:dispatchEventToRoot( {
|
|
name = "update_double_xp_icon"
|
|
} )
|
|
Engine.PlaySound( CoD.SFX.MPLobbyPlayerExit )
|
|
f10_local0.wasActiveMemberSlot = false
|
|
end
|
|
f10_arg0:makeNotFocusable()
|
|
end
|
|
f10_arg0:dispatchEventToParent( {
|
|
name = "update_navigation"
|
|
} )
|
|
end
|
|
|
|
function LobbyMemberButtonShouldBeDisabled( f11_arg0, f11_arg1, f11_arg2 )
|
|
local f11_local0 = LobbyMemberIsSplitscreenPrompt( f11_arg0, f11_arg1 )
|
|
local f11_local1 = Lobby.IsSearching()
|
|
local f11_local2 = f11_arg0 == Lobby.MemberListStates.Prelobby
|
|
if HideEmptyLobbySlots( f11_arg0 ) then
|
|
return not f11_arg2
|
|
elseif not (f11_arg2 and (f11_local2 or not f11_local1 or f11_arg2)) or f11_local0 then
|
|
return true
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberButtonIsDisabled( f12_arg0, f12_arg1 )
|
|
local f12_local0 = f12_arg0.properties
|
|
local f12_local1 = LobbyMemberButtonShouldBeDisabled( f12_local0.memberListState, f12_local0.memberIndex, f12_local0.isActiveMemberSlot )
|
|
if not f12_arg0.disabled and f12_local1 then
|
|
f12_arg0:processEvent( {
|
|
name = "disable",
|
|
immediate = true
|
|
} )
|
|
elseif f12_arg0.disabled and not f12_local1 then
|
|
f12_arg0:processEvent( {
|
|
name = "enable",
|
|
immediate = true
|
|
} )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberButtonAction( f13_arg0, f13_arg1 )
|
|
local f13_local0 = {
|
|
memberListState = f13_arg0.properties.memberListState,
|
|
memberSlot = f13_arg0.properties.memberSlot,
|
|
team = f13_arg0.properties.team
|
|
}
|
|
if f13_arg0.properties.isPublicLobby then
|
|
f13_local0.isPublicLobby = true
|
|
end
|
|
if f13_arg0.properties.isPrivateLobby then
|
|
f13_local0.isPrivateLobby = true
|
|
end
|
|
LUI.FlowManager.RequestPopupMenu( f13_arg0, "player_popup_party", true, f13_arg1.controller, false, f13_local0 )
|
|
end
|
|
|
|
function HandleLobbyMemberButtonOver( f14_arg0, f14_arg1 )
|
|
local f14_local0 = LUI.FlowManager.GetMenuScopedDataFromElement( f14_arg0 )
|
|
local f14_local1 = f14_arg0.properties
|
|
local f14_local2 = LobbyMemberIsBot( f14_local1.memberListState, f14_local1.memberSlot, f14_local1.team )
|
|
if not Engine.IsConsoleGame() then
|
|
f14_arg0:dispatchEventToRoot( {
|
|
name = "lobby_slide_enable",
|
|
dispatchChildren = true
|
|
} )
|
|
end
|
|
f14_local0.selectedMemberUniqueId = GetLobbyMemberUniqueId( f14_local1.memberListState, f14_local1.memberSlot, f14_local1.team )
|
|
f14_arg0:dispatchEventToRoot( {
|
|
name = "lobby_detail_update",
|
|
memberListState = f14_local1.memberListState,
|
|
memberSlot = f14_local1.memberSlot,
|
|
team = f14_local1.team,
|
|
isBot = f14_local2,
|
|
memberIndex = f14_local1.memberIndex,
|
|
dispatchChildren = true,
|
|
controller = f14_arg1.controller,
|
|
immediate = true
|
|
} )
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateSplitscreenPrompt( f15_arg0, f15_arg1 )
|
|
local f15_local0 = f15_arg0.properties
|
|
if LobbyMemberIsSplitscreenPrompt( f15_arg1.memberListState or f15_local0.memberListState, f15_local0.memberIndex ) then
|
|
f15_arg0:animateToState( "default", 0 )
|
|
f15_arg0:setText( Lobby.GetNonPlayingLocalClientText( f15_local0.memberIndex - 1 ) )
|
|
else
|
|
f15_arg0:animateToState( "hidden", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateHostIconProperties( f16_arg0, f16_arg1 )
|
|
f16_arg0.properties.memberListState = f16_arg1.memberListState
|
|
f16_arg0.properties.memberSlot = f16_arg1.memberSlot
|
|
f16_arg0.properties.team = f16_arg1.team
|
|
end
|
|
|
|
function HandleLobbyMemberShowHostIcon( f17_arg0, f17_arg1 )
|
|
local f17_local0 = f17_arg0.properties
|
|
if Lobby.ShowMemberPrivatePartyHostIcon( f17_local0.memberListState, f17_local0.memberSlot, f17_local0.team ) then
|
|
f17_arg0:animateToState( "shown", 0 )
|
|
else
|
|
f17_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateEliteIcon( f18_arg0, f18_arg1 )
|
|
local f18_local0 = f18_arg0.properties
|
|
if ShouldShowEliteIcon( f18_local0.memberListState, f18_local0.memberSlot, f18_local0.team ) then
|
|
f18_arg0:animateToState( "visible", 0 )
|
|
else
|
|
f18_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateEliteIconProperties( f19_arg0, f19_arg1 )
|
|
f19_arg0.properties.memberListState = f19_arg1.memberListState
|
|
f19_arg0.properties.memberSlot = f19_arg1.memberSlot
|
|
f19_arg0.properties.team = f19_arg1.team
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateRankVisibility( f20_arg0, f20_arg1 )
|
|
local f20_local0 = f20_arg0.properties
|
|
local f20_local1 = Lobby.ShowMemberInfo( f20_local0.memberListState, f20_local0.memberSlot, f20_local0.team )
|
|
if f20_local1 then
|
|
f20_local1 = not LobbyMemberIsBot( f20_local0.memberListState, f20_local0.memberSlot, f20_local0.team )
|
|
end
|
|
if not f20_local1 then
|
|
f20_arg0:animateToState( "hidden", 0 )
|
|
elseif f20_local0.isFocused then
|
|
f20_arg0:animateToState( "highlighted", 0 )
|
|
else
|
|
f20_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateRank( f21_arg0, f21_arg1 )
|
|
local f21_local0 = f21_arg0.properties
|
|
local f21_local1 = nil
|
|
if Engine.IsAliensMode() then
|
|
f21_arg0:setText( Rank.GetRankDisplay( Lobby.GetMemberAlienRank( f21_local0.memberListState, f21_local0.memberSlot, f21_local0.team ), CoD.PlayMode.Aliens ) )
|
|
else
|
|
f21_arg0:setText( Rank.GetRankDisplay( Lobby.GetMemberRank( f21_local0.memberListState, f21_local0.memberSlot, f21_local0.team ) ) )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateRankProperties( f22_arg0, f22_arg1 )
|
|
f22_arg0.properties.memberListState = f22_arg1.memberListState
|
|
f22_arg0.properties.memberSlot = f22_arg1.memberSlot
|
|
f22_arg0.properties.team = f22_arg1.team
|
|
end
|
|
|
|
f0_local0 = function ( f23_arg0, f23_arg1, f23_arg2 )
|
|
return Lobby.ShowMemberInfo( f23_arg0, f23_arg1, f23_arg2 ) and not LobbyMemberIsBot( f23_arg0, f23_arg1, f23_arg2 )
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateRankIcon( f24_arg0, f24_arg1 )
|
|
local f24_local0 = f24_arg0.properties
|
|
local f24_local1, f24_local2 = nil
|
|
if Engine.IsAliensMode() then
|
|
f24_local2 = Lobby.GetMemberAlienRank( f24_local0.memberListState, f24_local0.memberSlot, f24_local0.team )
|
|
f24_local1 = Lobby.GetMemberAlienPrestigeLevel( f24_local0.memberListState, f24_local0.memberSlot, f24_local0.team )
|
|
else
|
|
f24_local2 = Lobby.GetMemberRank( f24_local0.memberListState, f24_local0.memberSlot, f24_local0.team )
|
|
f24_local1 = Lobby.GetMemberPrestigeLevel( f24_local0.memberListState, f24_local0.memberSlot, f24_local0.team )
|
|
end
|
|
f24_arg0:setImage( RegisterMaterial( Rank.GetRankIcon( f24_local2, f24_local1, Engine.GetCurrentCoDPlayMode() ) ) )
|
|
if f0_local0( f24_local0.memberListState, f24_local0.memberSlot, f24_local0.team ) then
|
|
f24_arg0:animateToState( "default", 0 )
|
|
else
|
|
f24_arg0:animateToState( "hidden", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateRankIconProperties( f25_arg0, f25_arg1 )
|
|
f25_arg0.properties.memberListState = f25_arg1.memberListState
|
|
f25_arg0.properties.memberSlot = f25_arg1.memberSlot
|
|
f25_arg0.properties.team = f25_arg1.team
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateBotDifficultyIcon( f26_arg0, f26_arg1 )
|
|
local f26_local0 = f26_arg0.properties
|
|
local f26_local1 = Lobby.GetMemberBotDifficulty( f26_local0.memberListState, f26_local0.memberSlot, f26_local0.team )
|
|
if LobbyMemberIsBot( f26_local0.memberListState, f26_local0.memberSlot, f26_local0.team ) then
|
|
f26_arg0:animateToState( "default", 0 )
|
|
else
|
|
f26_arg0:animateToState( "hidden", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateBotDifficultyIconProperties( f27_arg0, f27_arg1 )
|
|
f27_arg0.properties.memberListState = f27_arg1.memberListState
|
|
f27_arg0.properties.memberSlot = f27_arg1.memberSlot
|
|
f27_arg0.properties.team = f27_arg1.team
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateClantag( f28_arg0, f28_arg1 )
|
|
local f28_local0 = f28_arg0.properties
|
|
if LobbyMemberIsBot( f28_local0.memberListState, f28_local0.memberSlot, f28_local0.team ) then
|
|
f28_arg0:setText( "BOT" )
|
|
if f28_local0.isFocused then
|
|
f28_arg0:animateToState( "highlighted", 0 )
|
|
else
|
|
f28_arg0:animateToState( "default", 0 )
|
|
end
|
|
elseif Lobby.HasMemberClanTag( f28_local0.memberListState, f28_local0.memberSlot, f28_local0.team ) then
|
|
f28_arg0:setText( Lobby.GetMemberClanTag( f28_local0.memberListState, f28_local0.memberSlot, f28_local0.team ) )
|
|
if f28_local0.isFocused then
|
|
f28_arg0:animateToState( "highlighted", 0 )
|
|
else
|
|
f28_arg0:animateToState( "default", 0 )
|
|
end
|
|
else
|
|
f28_arg0:animateToState( "hidden", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateClantagProperties( f29_arg0, f29_arg1 )
|
|
f29_arg0.properties.memberListState = f29_arg1.memberListState
|
|
f29_arg0.properties.memberSlot = f29_arg1.memberSlot
|
|
f29_arg0.properties.team = f29_arg1.team
|
|
end
|
|
|
|
function GetReadyUpIndicatorStateString( f30_arg0, f30_arg1, f30_arg2 )
|
|
local f30_local0 = "hidden"
|
|
if Lobby.UsingReadyUpFeature() and not LobbyMemberIsBot( f30_arg0, f30_arg1, f30_arg2 ) then
|
|
if (Lobby.GetMemberReadyUpFlag( f30_arg0, f30_arg1, f30_arg2 ) or false) == true then
|
|
f30_local0 = "ready"
|
|
else
|
|
f30_local0 = "notready"
|
|
end
|
|
end
|
|
return f30_local0
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateReadyUpFlag( f31_arg0, f31_arg1 )
|
|
local f31_local0 = f31_arg0.properties
|
|
f31_arg0:animateToState( GetReadyUpIndicatorStateString( f31_local0.memberListState, f31_local0.memberSlot, f31_local0.team ), 0 )
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateReadyUpFlagProperties( f32_arg0, f32_arg1 )
|
|
f32_arg0.properties.memberListState = f32_arg1.memberListState
|
|
f32_arg0.properties.memberSlot = f32_arg1.memberSlot
|
|
f32_arg0.properties.team = f32_arg1.team
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateGamertag( f33_arg0, f33_arg1 )
|
|
local f33_local0 = f33_arg0.properties
|
|
f33_arg0:setText( Lobby.GetMemberName( f33_local0.memberListState, f33_local0.memberSlot, f33_local0.team ) )
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateGamertagColor( f34_arg0, f34_arg1 )
|
|
local f34_local0 = f34_arg0.properties
|
|
if f34_local0.isFocused then
|
|
f34_arg0:animateToState( "highlighted", 0 )
|
|
elseif LobbyMemberIsBot( f34_local0.memberListState, f34_local0.memberSlot, f34_local0.team ) then
|
|
f34_arg0:animateToState( "default", 0 )
|
|
else
|
|
local f34_local1 = Lobby.IsMemberALocalPlayer( f34_local0.memberListState, f34_local0.memberSlot, f34_local0.team )
|
|
local f34_local2 = Lobby.IsMemberInPrivateParty( f34_local0.memberListState, f34_local0.memberSlot, f34_local0.team )
|
|
if f34_local1 then
|
|
f34_arg0:animateToState( "local", 0 )
|
|
elseif f34_local2 then
|
|
f34_arg0:animateToState( "party", 0 )
|
|
else
|
|
f34_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
end
|
|
|
|
f0_local1 = function ( f35_arg0, f35_arg1, f35_arg2 )
|
|
local f35_local0
|
|
if f35_arg0 ~= Lobby.MemberListStates.Prelobby then
|
|
f35_local0 = Lobby.ShowMemberInfo( f35_arg0, f35_arg1, f35_arg2 )
|
|
else
|
|
f35_local0 = false
|
|
end
|
|
return f35_local0
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateScoreVisibility( f36_arg0, f36_arg1 )
|
|
local f36_local0 = f36_arg0.properties
|
|
if not f0_local1( f36_local0.memberListState, f36_local0.memberSlot, f36_local0.team ) or Engine.IsAliensMode() then
|
|
f36_arg0:animateToState( "hidden", 0 )
|
|
elseif f36_local0.isFocused then
|
|
f36_arg0:animateToState( "highlighted", 0 )
|
|
else
|
|
f36_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateScore( f37_arg0, f37_arg1 )
|
|
local f37_local0 = f37_arg0.properties
|
|
f37_arg0:setText( Lobby.GetMemberStat( f37_local0.memberListState, f37_local0.memberSlot, f37_local0.team, Lobby.MemberStatTypes.Score ) or "" )
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateScoreProperties( f38_arg0, f38_arg1 )
|
|
f38_arg0.properties.memberListState = f38_arg1.memberListState
|
|
f38_arg0.properties.memberSlot = f38_arg1.memberSlot
|
|
f38_arg0.properties.team = f38_arg1.team
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateSetFocused( f39_arg0, f39_arg1 )
|
|
f39_arg0.properties.isFocused = true
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateSetNotFocused( f40_arg0, f40_arg1 )
|
|
f40_arg0.properties.isFocused = false
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateGamertagProperties( f41_arg0, f41_arg1 )
|
|
f41_arg0.properties.memberListState = f41_arg1.memberListState
|
|
f41_arg0.properties.memberSlot = f41_arg1.memberSlot
|
|
f41_arg0.properties.team = f41_arg1.team
|
|
end
|
|
|
|
function buildMemberButtonRank( f42_arg0, f42_arg1, f42_arg2, f42_arg3 )
|
|
local self = LUI.UIText.new()
|
|
self.id = "member_button_rank_text_id"
|
|
self.properties = {
|
|
memberListState = f42_arg0,
|
|
memberSlot = f42_arg1,
|
|
team = f42_arg2
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -1 * CoD.TextSettings.SmallFont.Height * 0.5,
|
|
bottom = CoD.TextSettings.SmallFont.Height * 0.5,
|
|
left = 0,
|
|
right = 32,
|
|
font = CoD.TextSettings.SmallFont.Font,
|
|
alignment = LUI.Alignment.Center,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
self:registerAnimationState( "highlighted", {
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0,
|
|
alpha = 1
|
|
} )
|
|
self:animateToState( "default" )
|
|
if not f0_local0( f42_arg0, f42_arg1, f42_arg2 ) then
|
|
self:animateToState( "hidden", 0 )
|
|
end
|
|
self:setText( f42_arg3 )
|
|
self:registerEventHandler( "button_over", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetFocused,
|
|
HandleLobbyMemberUpdateRankVisibility
|
|
} ) )
|
|
self:registerEventHandler( "button_up", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetNotFocused,
|
|
HandleLobbyMemberUpdateRankVisibility
|
|
} ) )
|
|
self:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateRankProperties,
|
|
HandleLobbyMemberUpdateRank,
|
|
HandleLobbyMemberUpdateRankVisibility
|
|
} ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonRankIcon( f43_arg0, f43_arg1, f43_arg2, f43_arg3 )
|
|
local self = LUI.UIImage.new()
|
|
self.id = "member_button_rank_icon_id"
|
|
self.properties = {
|
|
memberListState = f43_arg0,
|
|
memberSlot = f43_arg1,
|
|
team = f43_arg2
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 32,
|
|
right = 58,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
self:setImage( f43_arg3 )
|
|
local f43_local1 = Lobby.ShowMemberInfo( f43_arg0, f43_arg1, f43_arg2 )
|
|
if f43_local1 then
|
|
f43_local1 = not LobbyMemberIsBot( f43_arg0, f43_arg1, f43_arg2 )
|
|
end
|
|
if not f43_local1 then
|
|
self:animateToState( "hidden", 0 )
|
|
end
|
|
self:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateRankIconProperties,
|
|
HandleLobbyMemberUpdateRankIcon
|
|
} ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonBotDifficultyIcon( f44_arg0, f44_arg1, f44_arg2, f44_arg3 )
|
|
local self = LUI.UIImage.new()
|
|
self.id = "member_button_bot_difficulty_icon_id"
|
|
self.properties = {
|
|
memberListState = f44_arg0,
|
|
memberSlot = f44_arg1,
|
|
team = f44_arg2
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 5,
|
|
bottom = -5,
|
|
left = 0,
|
|
right = 48,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
self:setImage( f44_arg3 )
|
|
if not LobbyMemberIsBot( f44_arg0, f44_arg1, f44_arg2 ) then
|
|
self:animateToState( "hidden", 0 )
|
|
end
|
|
self:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateBotDifficultyIconProperties,
|
|
HandleLobbyMemberUpdateBotDifficultyIcon
|
|
} ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonRankElement( f45_arg0, f45_arg1, f45_arg2, f45_arg3, f45_arg4, f45_arg5, f45_arg6 )
|
|
local self = LUI.UIElement.new()
|
|
self.id = "member_button_rank_element_id"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 48,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
if f45_arg6 and not Engine.IsAliensMode() then
|
|
self:animateToState( "hidden" )
|
|
end
|
|
self:addElement( buildMemberButtonRank( f45_arg0, f45_arg1, f45_arg2, f45_arg3 ) )
|
|
self:addElement( buildMemberButtonRankIcon( f45_arg0, f45_arg1, f45_arg2, f45_arg4 ) )
|
|
self:addElement( buildMemberButtonBotDifficultyIcon( f45_arg0, f45_arg1, f45_arg2, f45_arg5 ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonClantag( f46_arg0, f46_arg1, f46_arg2, f46_arg3, f46_arg4 )
|
|
local self = LUI.UIText.new()
|
|
self.id = "member_button_clantag_id"
|
|
self.properties = {
|
|
memberListState = f46_arg0,
|
|
memberSlot = f46_arg1,
|
|
team = f46_arg2
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -1 * CoD.TextSettings.SmallFont.Height * 0.5,
|
|
bottom = CoD.TextSettings.SmallFont.Height * 0.5,
|
|
left = 60,
|
|
right = 135,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 1,
|
|
font = CoD.TextSettings.SmallFont.Font,
|
|
alignment = LUI.Alignment.Center
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
self:registerAnimationState( "highlighted", {
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0,
|
|
alpha = 1
|
|
} )
|
|
self:animateToState( "default", 0 )
|
|
local f46_local1 = LobbyMemberIsBot( f46_arg0, f46_arg1, f46_arg2 )
|
|
if not (Lobby.ShowMemberInfo( f46_arg0, f46_arg1, f46_arg2 ) or f46_local1) or not f46_arg3 then
|
|
self:animateToState( "hidden", 0 )
|
|
end
|
|
if f46_local1 then
|
|
self:setText( "BOT" )
|
|
else
|
|
self:setText( f46_arg4 )
|
|
end
|
|
self:registerEventHandler( "button_over", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetFocused,
|
|
HandleLobbyMemberUpdateClantag
|
|
} ) )
|
|
self:registerEventHandler( "button_up", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetNotFocused,
|
|
HandleLobbyMemberUpdateClantag
|
|
} ) )
|
|
self:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateClantagProperties,
|
|
HandleLobbyMemberUpdateClantag
|
|
} ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonReadyUpIndicator( f47_arg0, f47_arg1, f47_arg2, f47_arg3 )
|
|
local f47_local0 = -75
|
|
local f47_local1 = 6
|
|
local f47_local2 = 16
|
|
local f47_local3 = 16
|
|
local self = LUI.UIElement.new()
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = f47_local1,
|
|
bottom = f47_local1 + f47_local3,
|
|
left = f47_local0,
|
|
right = f47_local0 + f47_local2
|
|
} )
|
|
self:animateToState( "default", 0 )
|
|
local f47_local5 = GetReadyUpIndicatorStateString( f47_arg0, f47_arg1, f47_arg2 )
|
|
local f47_local6 = LUI.UIImage.new()
|
|
f47_local6.id = "member_button_readyupindicatorframe_id"
|
|
f47_local6.properties = {
|
|
memberListState = f47_arg0,
|
|
memberSlot = f47_arg1,
|
|
team = f47_arg2
|
|
}
|
|
f47_local6:registerAnimationState( "ready", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 1,
|
|
alignment = LUI.Alignment.Center,
|
|
material = RegisterMaterial( "box_empty" )
|
|
} )
|
|
f47_local6:registerAnimationState( "notready", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 1,
|
|
alignment = LUI.Alignment.Center,
|
|
material = RegisterMaterial( "box_empty" )
|
|
} )
|
|
f47_local6:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
f47_local6:animateToState( f47_local5, 0 )
|
|
f47_local6:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateReadyUpFlagProperties,
|
|
HandleLobbyMemberUpdateReadyUpFlag
|
|
} ) )
|
|
self:addElement( f47_local6 )
|
|
local f47_local7 = LUI.UIImage.new()
|
|
f47_local7.id = "member_button_readyupindicatorcenter_id"
|
|
f47_local7.properties = {
|
|
memberListState = f47_arg0,
|
|
memberSlot = f47_arg1,
|
|
team = f47_arg2
|
|
}
|
|
f47_local7:registerAnimationState( "ready", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 4,
|
|
bottom = -4,
|
|
left = 4,
|
|
right = -4,
|
|
red = 1,
|
|
green = 0.24,
|
|
blue = 0.04,
|
|
alpha = 0.85,
|
|
alignment = LUI.Alignment.Center,
|
|
material = RegisterMaterial( "white" )
|
|
} )
|
|
f47_local7:registerAnimationState( "notready", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 4,
|
|
bottom = -4,
|
|
left = 4,
|
|
right = -4,
|
|
red = 0.5,
|
|
green = 0.5,
|
|
blue = 0.5,
|
|
alpha = 0,
|
|
alignment = LUI.Alignment.Center
|
|
} )
|
|
f47_local7:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
f47_local7:animateToState( f47_local5, 0 )
|
|
f47_local7:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateReadyUpFlagProperties,
|
|
HandleLobbyMemberUpdateReadyUpFlag
|
|
} ) )
|
|
self:addElement( f47_local7 )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonGamertag( f48_arg0, f48_arg1, f48_arg2, f48_arg3 )
|
|
local self = LUI.UIText.new()
|
|
self.id = "member_button_gamertag_id"
|
|
self.properties = {
|
|
memberListState = f48_arg0,
|
|
memberSlot = f48_arg1,
|
|
team = f48_arg2,
|
|
isFocused = false
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -1 * CoD.TextSettings.SmallFont.Height * 0.5,
|
|
bottom = CoD.TextSettings.SmallFont.Height * 0.5,
|
|
left = 145,
|
|
right = 445,
|
|
font = CoD.TextSettings.SmallFont.Font,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1
|
|
} )
|
|
self:registerAnimationState( "local", {
|
|
red = Engine.IsAliensMode() and Colors.alien_frontend_hilite.r or Colors.frontend_hilite.r,
|
|
green = Engine.IsAliensMode() and Colors.alien_frontend_hilite.g or Colors.frontend_hilite.g,
|
|
blue = Engine.IsAliensMode() and Colors.alien_frontend_hilite.b or Colors.frontend_hilite.b
|
|
} )
|
|
self:registerAnimationState( "party", {
|
|
red = Lobby.Swatch.party_member.r,
|
|
green = Lobby.Swatch.party_member.g,
|
|
blue = Lobby.Swatch.party_member.b
|
|
} )
|
|
self:registerAnimationState( "highlighted", {
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0
|
|
} )
|
|
self:animateToState( "default", 0 )
|
|
if not LobbyMemberIsBot( f48_arg0, f48_arg1, f48_arg2 ) then
|
|
local f48_local1 = Lobby.IsMemberALocalPlayer( f48_arg0, f48_arg1, f48_arg2 )
|
|
local f48_local2 = Lobby.IsMemberInPrivateParty( f48_arg0, f48_arg1, f48_arg2 )
|
|
if f48_local1 then
|
|
self:animateToState( "local", 0 )
|
|
elseif f48_local2 then
|
|
self:animateToState( "party", 0 )
|
|
end
|
|
end
|
|
self:setText( f48_arg3 )
|
|
self:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateGamertagProperties,
|
|
HandleLobbyMemberUpdateGamertag,
|
|
HandleLobbyMemberUpdateGamertagColor
|
|
} ) )
|
|
self:registerEventHandler( "button_over", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetFocused,
|
|
HandleLobbyMemberUpdateGamertagColor
|
|
} ) )
|
|
self:registerEventHandler( "button_up", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetNotFocused,
|
|
HandleLobbyMemberUpdateGamertagColor
|
|
} ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonScore( f49_arg0, f49_arg1, f49_arg2, f49_arg3 )
|
|
local self = LUI.UIText.new()
|
|
self.id = "member_button_score_id"
|
|
self.properties = {
|
|
memberListState = f49_arg0,
|
|
memberSlot = f49_arg1,
|
|
team = f49_arg2
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -1 * CoD.TextSettings.SmallFont.Height * 0.5,
|
|
bottom = CoD.TextSettings.SmallFont.Height * 0.5,
|
|
left = 460,
|
|
right = 540,
|
|
font = CoD.TextSettings.SmallFont.Font,
|
|
alignment = LUI.Alignment.Right,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
self:registerAnimationState( "highlighted", {
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0,
|
|
alpha = 1
|
|
} )
|
|
self:animateToState( "default" )
|
|
if not f0_local1( f49_arg0, f49_arg1, f49_arg2 ) then
|
|
self:animateToState( "hidden" )
|
|
end
|
|
self:setText( f49_arg3 )
|
|
self:registerEventHandler( "button_over", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetFocused,
|
|
HandleLobbyMemberUpdateScoreVisibility
|
|
} ) )
|
|
self:registerEventHandler( "button_up", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetNotFocused,
|
|
HandleLobbyMemberUpdateScoreVisibility
|
|
} ) )
|
|
self:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateScoreProperties,
|
|
HandleLobbyMemberUpdateScore,
|
|
HandleLobbyMemberUpdateScoreVisibility
|
|
} ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonContent( f50_arg0, f50_arg1, f50_arg2, f50_arg3, f50_arg4, f50_arg5, f50_arg6, f50_arg7, f50_arg8, f50_arg9, f50_arg10, f50_arg11 )
|
|
local self = LUI.UIElement.new()
|
|
self.id = "member_button_content_id"
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
alpha = 1,
|
|
spacing = 3
|
|
} )
|
|
self:registerAnimationState( "glow", {
|
|
alpha = 0.65
|
|
} )
|
|
self:registerAnimationState( "disabled", {
|
|
alpha = 0
|
|
} )
|
|
self:animateToState( "default" )
|
|
self:registerEventHandler( "button_disable", MBh.AnimateToState( "disabled", 0 ) )
|
|
self:registerEventHandler( "button_up", MBh.AnimateToState( "default", 0 ) )
|
|
self:registerEventHandler( "button_over", MBh.AnimateToState( "default", 0 ) )
|
|
self:addElement( buildMemberButtonRankElement( f50_arg0, f50_arg1, f50_arg2, f50_arg3, f50_arg4, f50_arg5, f50_arg11 ) )
|
|
if Engine.IsAliensMode() then
|
|
self:addElement( buildMemberButtonReadyUpIndicator( f50_arg0, f50_arg1, f50_arg2, f50_arg10 ) )
|
|
end
|
|
self:addElement( buildMemberButtonClantag( f50_arg0, f50_arg1, f50_arg2, f50_arg6, f50_arg7 ) )
|
|
self:addElement( buildMemberButtonGamertag( f50_arg0, f50_arg1, f50_arg2, f50_arg8 ) )
|
|
self:addElement( buildMemberButtonScore( f50_arg0, f50_arg1, f50_arg2, f50_arg9 ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonTeamBorder( f51_arg0, f51_arg1, f51_arg2, f51_arg3, f51_arg4 )
|
|
local self = LUI.UIImage.new()
|
|
self.properties = {
|
|
memberListState = f51_arg0,
|
|
team = f51_arg2,
|
|
isActiveMemberSlot = f51_arg3
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
material = RegisterMaterial( f51_arg4 ),
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 0
|
|
} )
|
|
self:registerAnimationState( "team_friendly", {
|
|
red = Lobby.Swatch.allies.r,
|
|
green = Lobby.Swatch.allies.g,
|
|
blue = Lobby.Swatch.allies.b,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "team_enemy", {
|
|
red = Lobby.Swatch.axis.r,
|
|
green = Lobby.Swatch.axis.g,
|
|
blue = Lobby.Swatch.axis.b,
|
|
alpha = 1
|
|
} )
|
|
self:animateToState( "default", 0 )
|
|
local f51_local1 = LobbyMemberGetLocalPlayerTeam( f51_arg0 )
|
|
if f51_arg0 == Lobby.MemberListStates.Teams and f51_arg2 == otherTeamLookup[f51_local1] then
|
|
self:animateToState( "team_enemy", 0 )
|
|
elseif f51_arg0 == Lobby.MemberListStates.Teams and f51_arg2 == f51_local1 then
|
|
self:animateToState( "team_friendly", 0 )
|
|
end
|
|
self:registerEventHandler( "button_disable", MBh.AnimateToState( "default", 0 ) )
|
|
self:registerEventHandler( "button_up", HandleLobbyMemberSetBackgroundBorder )
|
|
self:registerEventHandler( "lobby_member_update_bg", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateBackgroundProperties,
|
|
HandleLobbyMemberSetBackgroundBorder
|
|
} ) )
|
|
return self
|
|
end
|
|
|
|
function buildMemberButtonHilite( f52_arg0 )
|
|
local self = LUI.UIImage.new()
|
|
self:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
material = RegisterMaterial( f52_arg0 ),
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "fade", {
|
|
alpha = 0.7
|
|
} )
|
|
self:animateToState( "default", 0 )
|
|
local f52_local1 = MBh.AnimateLoop( {
|
|
{
|
|
"fade",
|
|
1200,
|
|
true,
|
|
true
|
|
},
|
|
{
|
|
"default",
|
|
1200,
|
|
true,
|
|
true
|
|
}
|
|
} )
|
|
f52_local1( self )
|
|
return self
|
|
end
|
|
|
|
f0_local2 = function ( f53_arg0, f53_arg1 )
|
|
local f53_local0 = f53_arg0:getChildById( f53_arg1 )
|
|
if f53_local0 then
|
|
f53_local0:close()
|
|
end
|
|
end
|
|
|
|
local f0_local3 = function ( f54_arg0, f54_arg1, f54_arg2, f54_arg3 )
|
|
if f54_arg0:getChildById( f54_arg2 ) then
|
|
return
|
|
end
|
|
local f54_local0 = f54_arg0:getChildById( f54_arg1 )
|
|
local f54_local1 = buildMemberButtonHilite( f54_arg3 )
|
|
f54_local1.id = f54_arg2
|
|
if f54_local0 then
|
|
LUI.UIElement.addElementAfter( f54_local1, f54_local0 )
|
|
else
|
|
f54_arg0:addElement( f54_local1 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberMidButtonUp( f55_arg0, f55_arg1 )
|
|
f0_local2( f55_arg0, "member_button_mid_bg_hilite_id" )
|
|
end
|
|
|
|
function HandleLobbyMemberMidButtonOver( f56_arg0, f56_arg1 )
|
|
f0_local3( f56_arg0, "member_button_mid_bg_id", "member_button_mid_bg_hilite_id", Engine.IsAliensMode() and "box_alien_lobby_name_mid_f" or "box_lobby_name_f_mid" )
|
|
end
|
|
|
|
function HandleLobbyMemberLeftButtonUp( f57_arg0, f57_arg1 )
|
|
f0_local2( f57_arg0, "member_button_lt_bg_hilite_id" )
|
|
end
|
|
|
|
function HandleLobbyMemberLeftButtonOver( f58_arg0, f58_arg1 )
|
|
f0_local3( f58_arg0, "member_button_lt_bg_id", "member_button_lt_bg_hilite_id", Engine.IsAliensMode() and "box_alien_lobby_name_lt_f" or "box_lobby_name_f_lt" )
|
|
end
|
|
|
|
function HandleLobbyMemberRightButtonUp( f59_arg0, f59_arg1 )
|
|
f0_local2( f59_arg0, "member_button_rt_bg_hilite_id" )
|
|
end
|
|
|
|
function HandleLobbyMemberRightButtonOver( f60_arg0, f60_arg1 )
|
|
f0_local3( f60_arg0, "member_button_rt_bg_id", "member_button_rt_bg_hilite_id", Engine.IsAliensMode() and "box_alien_lobby_name_rt_f" or "box_lobby_name_f_rt" )
|
|
end
|
|
|
|
function HandleLobbyMemberSetBackground( f61_arg0, f61_arg1 )
|
|
if f61_arg0.properties.isActiveMemberSlot then
|
|
f61_arg0:animateToState( "default", 0 )
|
|
else
|
|
f61_arg0:animateToState( "disabled", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberSetBackgroundBorder( f62_arg0, f62_arg1 )
|
|
local f62_local0 = f62_arg0.properties
|
|
local f62_local1 = LobbyMemberGetLocalPlayerTeam( f62_local0.memberListState )
|
|
if f62_local0.memberListState == Lobby.MemberListStates.Teams and f62_local0.team == otherTeamLookup[f62_local1] then
|
|
f62_arg0:animateToState( "team_enemy", 0 )
|
|
elseif f62_local0.memberListState == Lobby.MemberListStates.Teams and f62_local0.team == f62_local1 then
|
|
f62_arg0:animateToState( "team_friendly", 0 )
|
|
else
|
|
f62_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateBackgroundProperties( f63_arg0, f63_arg1 )
|
|
f63_arg0.properties.memberListState = f63_arg1.memberListState
|
|
f63_arg0.properties.team = f63_arg1.team
|
|
f63_arg0.properties.isActiveMemberSlot = f63_arg1.isActiveMemberSlot
|
|
end
|
|
|
|
function HandleUpdatePerkIcon( f64_arg0, f64_arg1, f64_arg2, f64_arg3 )
|
|
local f64_local0 = LUI.mp_menus.Aliens
|
|
local f64_local1 = Lobby.GetMemberPerk( f64_arg1.memberSlot, f64_arg2 )
|
|
if f64_local1 then
|
|
local f64_local2 = f64_local0.GetFieldForPerk( f64_local1, f64_local0.AlienPerks.Cols.Icon )
|
|
if f64_local2 and f64_local2 ~= "" then
|
|
f64_arg0:setImage( RegisterMaterial( f64_local2 ) )
|
|
if f64_arg3 and Engine.InLobby() and LUI.mp_menus.Aliens.IsChaosEnabled() then
|
|
f64_arg0:animateToState( "collapsed" )
|
|
else
|
|
f64_arg0:animateToState( "visible" )
|
|
end
|
|
else
|
|
f64_arg0:animateToState( "default" )
|
|
end
|
|
else
|
|
f64_arg0:animateToState( "default" )
|
|
end
|
|
end
|
|
|
|
function HandleUpdateAbilityIcon( f65_arg0, f65_arg1, f65_arg2, f65_arg3 )
|
|
local f65_local0 = LUI.mp_menus.Aliens
|
|
local f65_local1 = Lobby.GetMemberAbility( f65_arg1.memberSlot, f65_arg2 )
|
|
local f65_local2 = LUI.mp_menus.Aliens.IsChaosEnabled()
|
|
if f65_local1 then
|
|
local f65_local3 = f65_local0.GetFieldForAbility( f65_local1, f65_local0.AlienAbilities.Cols.Icon )
|
|
if f65_local3 and f65_local3 ~= "" then
|
|
if f65_local2 and f65_local3 == "alien_icon_nerf_9" and f65_arg2 == f65_local0.AlienAbilities.Left then
|
|
f65_local3 = "alien_icon_manned_turret"
|
|
elseif f65_local2 and f65_local3 == "alien_icon_nerf_9" and f65_arg2 == f65_local0.AlienAbilities.Right then
|
|
f65_local3 = "alien_icon_ims"
|
|
end
|
|
f65_arg0:setImage( RegisterMaterial( f65_local3 ) )
|
|
if f65_arg3 and Engine.InLobby() and LUI.mp_menus.Aliens.IsChaosEnabled() then
|
|
f65_arg0:animateToState( "collapsed" )
|
|
else
|
|
f65_arg0:animateToState( "visible" )
|
|
end
|
|
else
|
|
f65_arg0:animateToState( "default" )
|
|
end
|
|
else
|
|
f65_arg0:animateToState( "default" )
|
|
end
|
|
end
|
|
|
|
function HandleLobbyMemberUpdateSplitscreenPromptAliens( f66_arg0, f66_arg1 )
|
|
local f66_local0 = f66_arg0.properties
|
|
if LobbyMemberIsSplitscreenPrompt( f66_arg1.memberListState or f66_local0.memberListState, f66_local0.memberIndex ) or f66_arg1.isActiveMemberSlot == false then
|
|
f66_arg0:animateToState( "default", 0 )
|
|
else
|
|
f66_arg0:animateToState( "visible", 0 )
|
|
end
|
|
end
|
|
|
|
function DispatchSvSPlayercardUpdate( f67_arg0, f67_arg1 )
|
|
if not UsingSvSPlayercards( f67_arg0.properties.memberListState ) then
|
|
return
|
|
end
|
|
local f67_local0 = f67_arg0:getParent()
|
|
if f67_local0 then
|
|
f67_local0:processEvent( {
|
|
name = "update_svs_playercards",
|
|
controller = f67_arg1.controller
|
|
} )
|
|
end
|
|
end
|
|
|
|
function UpdateSvSPlayercard( f68_arg0, f68_arg1 )
|
|
if f68_arg0.properties.memberElement.properties.isActiveMemberSlot then
|
|
f68_arg0:animateToState( "active", 0 )
|
|
local f68_local0 = f68_arg0.properties.memberElement
|
|
local f68_local1 = f68_local0.properties.memberListState
|
|
local f68_local2 = f68_local0.properties.memberSlot
|
|
local f68_local3 = f68_local0.properties.team
|
|
local f68_local4 = Lobby.GetMemberName( f68_local1, f68_local2, f68_local3 ) or ""
|
|
local f68_local5 = Lobby.GetMemberRank( f68_local1, f68_local2, f68_local3 ) or 0
|
|
local f68_local6 = Lobby.GetMemberPrestigeLevel( f68_local1, f68_local2, f68_local3 ) or 0
|
|
local f68_local7 = Lobby.GetMemberPatch( f68_local1, f68_local2, f68_local3 ) or 0
|
|
local f68_local8 = Lobby.GetMemberPatchbacking( f68_local1, f68_local2, f68_local3 ) or 0
|
|
f68_arg0:dispatchEventToChildren( {
|
|
name = "update_playercard",
|
|
gamertag = f68_local4,
|
|
rank = f68_local5,
|
|
prestige = f68_local6,
|
|
patchEmblem = f68_local7,
|
|
background = Lobby.GetMemberBackground( f68_local1, f68_local2, f68_local3 ) or 0,
|
|
clantag = Lobby.GetMemberClanTag( f68_local1, f68_local2, f68_local3 ) or ""
|
|
} )
|
|
else
|
|
f68_arg0:animateToState( "default", 0 )
|
|
end
|
|
end
|
|
|
|
function SqauadVsSquadElementChildFeeder( f69_arg0 )
|
|
local f69_local0 = f69_arg0.memberElement
|
|
local f69_local1 = f69_local0.properties.memberListState
|
|
local f69_local2 = f69_local0.properties.memberSlot
|
|
local f69_local3 = f69_local0.properties.team
|
|
local f69_local4 = {
|
|
[#f69_local4 + 1] = {
|
|
type = "UIImage",
|
|
id = "svs_member_list_bg_id",
|
|
states = {
|
|
default = CoD.ColorizeState( Colors.black, {
|
|
material = RegisterMaterial( "white" ),
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = -28,
|
|
right = 23,
|
|
top = 0,
|
|
bottom = 170,
|
|
alpha = 0.2
|
|
} )
|
|
}
|
|
},
|
|
[#f69_local4 + 1] = {
|
|
type = "UIElement",
|
|
id = "svs_memberlist_playercard_container_id",
|
|
states = {
|
|
default = {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottm = 0,
|
|
left = 25,
|
|
right = 0
|
|
}
|
|
},
|
|
children = {
|
|
{
|
|
type = "playercard",
|
|
id = "svs_member_list_playercard_id",
|
|
states = {
|
|
default = {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 25,
|
|
left = 25,
|
|
height = 90,
|
|
width = 100
|
|
}
|
|
},
|
|
properties = {
|
|
gamertag = Lobby.GetMemberName( f69_local1, f69_local2, f69_local3 ) or "",
|
|
rank = Lobby.GetMemberRank( f69_local1, f69_local2, f69_local3 ) or 0,
|
|
prestige = Lobby.GetMemberPrestigeLevel( f69_local1, f69_local2, f69_local3 ) or 0,
|
|
patchEmblem = Lobby.GetMemberPatch( f69_local1, f69_local2, f69_local3 ) or 0,
|
|
patchbacking = Lobby.GetMemberPatchbacking( f69_local1, f69_local2, f69_local3 ) or 0,
|
|
background = Lobby.GetMemberBackground( f69_local1, f69_local2, f69_local3 ) or 0,
|
|
clantag = Lobby.GetMemberClanTag( f69_local1, f69_local2, f69_local3 ) or ""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return f69_local4
|
|
end
|
|
|
|
function BuildSquadVsSquadListElement( f70_arg0, f70_arg1, f70_arg2 )
|
|
return {
|
|
type = "UIElement",
|
|
id = "svs_member_list_element_id" .. f70_arg1,
|
|
focusable = false,
|
|
states = {
|
|
default = {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = -10,
|
|
top = 0,
|
|
bottom = 115,
|
|
alpha = 0
|
|
},
|
|
active = {
|
|
alpha = 1
|
|
}
|
|
},
|
|
properties = {
|
|
memberElement = f70_arg0
|
|
},
|
|
handlers = {
|
|
menu_create = UpdateSvSPlayercard,
|
|
update_svs_playercards = UpdateSvSPlayercard
|
|
},
|
|
childrenFeeder = SqauadVsSquadElementChildFeeder
|
|
}
|
|
end
|
|
|
|
function MemberListFeeder( f71_arg0 )
|
|
local f71_local0 = {}
|
|
assert( f71_arg0.memberListState, "Member list needs initial state" )
|
|
local f71_local1 = f71_arg0.isPublicLobby
|
|
local f71_local2 = f71_arg0.isPrivateLobby
|
|
local f71_local3 = LobbyMemberListGetState( f71_arg0.memberListState )
|
|
local f71_local4 = Engine.IsAliensMode() and 4 or Lobby.MaxMemberListSlots
|
|
for f71_local5 = 1, f71_local4, 1 do
|
|
local f71_local8 = LobbyMemberGetSlot( f71_local3, f71_local5 )
|
|
local f71_local9 = LobbyMemberGetTeam( f71_local3, f71_local5 )
|
|
local f71_local10
|
|
if not f71_arg0.delayMemberList or f71_local5 <= 1 then
|
|
f71_local10 = Lobby.IsActiveMemberSlot( f71_local5 - 1 )
|
|
if not f71_local10 then
|
|
|
|
else
|
|
local f71_local11 = f71_local10
|
|
local f71_local12 = Engine.IsAliensMode()
|
|
if f71_local12 then
|
|
f71_local12 = f71_local11 and Lobby.GetMemberReadyUpFlag( f71_local3, f71_local8, f71_local9 )
|
|
end
|
|
local f71_local13
|
|
if f71_local10 then
|
|
f71_local13 = Lobby.GetMemberName( f71_local3, f71_local8, f71_local9 )
|
|
if not f71_local13 then
|
|
|
|
else
|
|
local f71_local14
|
|
if f71_local10 then
|
|
f71_local14 = Lobby.GetMemberStat( f71_local3, f71_local8, f71_local9, Lobby.MemberStatTypes.Score )
|
|
if not f71_local14 then
|
|
|
|
else
|
|
local f71_local15 = nil
|
|
if Engine.IsAliensMode() then
|
|
if f71_local10 then
|
|
local f71_local16 = Lobby.GetMemberAlienRank( f71_local3, f71_local8, f71_local9 )
|
|
end
|
|
f71_local15 = f71_local16 or 0
|
|
else
|
|
if f71_local10 then
|
|
local f71_local17 = Lobby.GetMemberRank( f71_local3, f71_local8, f71_local9 )
|
|
end
|
|
f71_local15 = f71_local17 or 0
|
|
end
|
|
local f71_local18
|
|
if f71_local10 then
|
|
f71_local18 = Rank.GetRankDisplay( f71_local15, Engine.GetCurrentCoDPlayMode() )
|
|
if not f71_local18 then
|
|
|
|
else
|
|
local f71_local19 = nil
|
|
if Engine.IsAliensMode() then
|
|
if f71_local10 then
|
|
local f71_local20 = Lobby.GetMemberAlienPrestigeLevel( f71_local3, f71_local8, f71_local9 )
|
|
end
|
|
f71_local19 = f71_local20 or 0
|
|
else
|
|
if f71_local10 then
|
|
local f71_local21 = Lobby.GetMemberPrestigeLevel( f71_local3, f71_local8, f71_local9 )
|
|
end
|
|
f71_local19 = f71_local21 or 0
|
|
end
|
|
local f71_local22
|
|
if f71_local10 then
|
|
f71_local22 = Rank.GetRankIcon( f71_local15, f71_local19, Engine.GetCurrentCoDPlayMode() )
|
|
if not f71_local22 then
|
|
|
|
else
|
|
if not f71_local10 or not Lobby.GetMemberBotDifficulty( f71_local3, f71_local8, f71_local9 ) then
|
|
local f71_local23 = 1
|
|
end
|
|
local f71_local24 = "white"
|
|
local f71_local25 = false
|
|
local f71_local26 = ""
|
|
if f71_local10 and Lobby.HasMemberClanTag( f71_local3, f71_local8, f71_local9 ) then
|
|
f71_local26 = Lobby.GetMemberClanTag( f71_local3, f71_local8, f71_local9 )
|
|
f71_local25 = true
|
|
end
|
|
local f71_local27 = LobbyMemberIsSplitscreenPrompt( f71_local3, f71_local5 )
|
|
local f71_local28
|
|
if f71_local10 then
|
|
f71_local28 = Lobby.IsMemberALocalPlayer( f71_local3, f71_local8, f71_local9 )
|
|
if not f71_local28 then
|
|
|
|
else
|
|
local f71_local29 = {
|
|
type = "member_button",
|
|
properties = {
|
|
isPublicLobby = f71_local1,
|
|
isPrivateLobby = f71_local2,
|
|
memberListState = f71_local3,
|
|
memberIndex = f71_local5,
|
|
memberSlot = f71_local8,
|
|
team = f71_local9,
|
|
isActiveMemberSlot = f71_local10,
|
|
memberRank = f71_local18,
|
|
memberRankIcon = RegisterMaterial( f71_local22 ),
|
|
memberBotDifficultyIcon = RegisterMaterial( f71_local24 ),
|
|
memberReadyUpFlag = f71_local12,
|
|
gamerTag = f71_local13,
|
|
score = f71_local14,
|
|
hasClanTag = f71_local25,
|
|
clanTag = f71_local26,
|
|
isSplitscreenPrompt = f71_local27,
|
|
isLocalMember = f71_local28
|
|
}
|
|
}
|
|
if LobbyMemberButtonShouldBeDisabled( f71_local3, f71_local5, f71_local10 ) then
|
|
f71_local29.disabled = true
|
|
end
|
|
if not f71_local10 or f71_local27 then
|
|
f71_local29.focusable = false
|
|
end
|
|
if UsingSvSPlayercards( f71_local3 ) and f71_local5 <= 2 then
|
|
f71_local0[#f71_local0 + 1] = BuildSquadVsSquadListElement( f71_local29, f71_local5, f71_local10 )
|
|
end
|
|
f71_local29.id = "member_" .. f71_local5
|
|
f71_local0[#f71_local0 + 1] = f71_local29
|
|
end
|
|
end
|
|
f71_local28 = false
|
|
end
|
|
end
|
|
f71_local22 = "white"
|
|
end
|
|
end
|
|
f71_local18 = ""
|
|
end
|
|
end
|
|
f71_local14 = ""
|
|
end
|
|
end
|
|
f71_local13 = ""
|
|
end
|
|
end
|
|
f71_local10 = false
|
|
end
|
|
f71_local0[#f71_local0 + 1] = {
|
|
type = "UITimer",
|
|
id = "member_list_tmr",
|
|
properties = {
|
|
event = {
|
|
name = "member_list_refresh",
|
|
dispatchChildren = true
|
|
},
|
|
interval = Lobby.MemberListRefreshTime,
|
|
disposable = false,
|
|
broadcastToRoot = true
|
|
}
|
|
}
|
|
return f71_local0
|
|
end
|
|
|
|
function GetSquadBackgroundSize( f72_arg0 )
|
|
local f72_local0 = Lobby.MemberListSquadMemberHeight
|
|
local f72_local1 = GetMemberListSpacing()
|
|
local f72_local2 = 110
|
|
local f72_local3 = SvS.MaxSquadSize * (f72_local0 + f72_local1)
|
|
if f72_arg0 == Lobby.Teams.Axis then
|
|
f72_local3 = f72_local3 + f72_local2 + f72_local1 * 2
|
|
end
|
|
return f72_local3
|
|
end
|
|
|
|
function UpdateLocalSquadHeader( f73_arg0, f73_arg1, f73_arg2, f73_arg3 )
|
|
local f73_local0 = f73_arg2:getParent() == f73_arg0
|
|
if f73_arg1 and not f73_local0 then
|
|
LUI.UIElement.addElementBefore( f73_arg2, f73_arg3 )
|
|
elseif not f73_arg1 and f73_local0 then
|
|
f73_arg0:removeElement( f73_arg2 )
|
|
end
|
|
end
|
|
|
|
function UpdateSquadHeaders( f74_arg0, f74_arg1 )
|
|
f74_arg0.properties.memberListState = LobbyMemberListGetState( f74_arg0.properties.memberListState )
|
|
if not f74_arg0.properties.localSquadHeader then
|
|
return
|
|
end
|
|
local f74_local0 = f74_arg0.properties.firstLocalSquadMember
|
|
if f74_local0 then
|
|
UpdateLocalSquadHeader( f74_arg0, true, f74_arg0.properties.localSquadHeader, f74_local0 )
|
|
else
|
|
UpdateLocalSquadHeader( f74_arg0, false, f74_arg0.properties.localSquadHeader )
|
|
end
|
|
local f74_local1 = f74_arg0.properties.firstOpposingSquadMember
|
|
if f74_local1 and (f74_local1.properties.team ~= Lobby.Teams.Axis or not f74_local1.properties.isActiveMemberSlot) then
|
|
f74_local1 = nil
|
|
f74_arg0.properties.firstOpposingSquadMember = nil
|
|
end
|
|
if f74_arg0.properties and f74_arg0.properties.opposingSquadHeaderElements then
|
|
if f74_local1 then
|
|
for f74_local5, f74_local6 in ipairs( f74_arg0.properties.opposingSquadHeaderElements ) do
|
|
UpdateLocalSquadHeader( f74_arg0, true, f74_local6, f74_local1 )
|
|
end
|
|
else
|
|
for f74_local5, f74_local6 in ipairs( f74_arg0.properties.opposingSquadHeaderElements ) do
|
|
UpdateLocalSquadHeader( f74_arg0, false, f74_local6 )
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function BuildSquadHeader( f75_arg0 )
|
|
local self = LUI.UIElement.new( {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = -26,
|
|
right = 10,
|
|
top = 0,
|
|
height = GenericTitleBarDims.TitleBarHeight + 3,
|
|
alpha = 1
|
|
} )
|
|
local f75_local1 = LUI.MenuGenerics.generic_menu_titlebar( nil, {
|
|
font = CoD.TextSettings.ExtraBigFont,
|
|
title_bar_text = f75_arg0.text or "",
|
|
title_bar_alignment = LUI.Alignment.Center,
|
|
fill_alpha = 0.6
|
|
} )
|
|
f75_local1:registerEventHandler( "set_squad_header_text", function ( element, event )
|
|
element:dispatchEventToChildren( {
|
|
name = "update_title",
|
|
title_text = Engine.Localize( "@LUA_MENU_SQUAD_LABEL", event.text )
|
|
} )
|
|
end )
|
|
self:addElement( f75_local1 )
|
|
local f75_local2 = LUI.MenuGenerics.generic_menu_background_withfade( {}, {
|
|
top_offset = 0,
|
|
shadow_alpha = 0,
|
|
fill_alpha = 0.6
|
|
} )
|
|
local f75_local3 = f75_local2
|
|
local f75_local4 = f75_local2.registerAnimationState
|
|
local f75_local5 = "default"
|
|
local f75_local6 = {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = GenericTitleBarDims.TitleBarHeight,
|
|
left = 0,
|
|
right = 0
|
|
}
|
|
local f75_local7 = GetSquadBackgroundSize
|
|
local f75_local8 = f75_arg0.team
|
|
if not f75_local8 then
|
|
f75_local8 = Lobby.Teams.Free
|
|
end
|
|
f75_local6.height = f75_local7( f75_local8 )
|
|
f75_local4( f75_local3, f75_local5, f75_local6 )
|
|
f75_local2:animateToState( "default" )
|
|
self:addElement( f75_local2 )
|
|
return self
|
|
end
|
|
|
|
function BuildOpposingSquadHeaderElements()
|
|
local f77_local0 = {
|
|
[#f77_local0 + 1] = LUI.UIElement.new( {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = -55,
|
|
right = 40,
|
|
top = 0,
|
|
bottom = 10,
|
|
alpha = 0
|
|
} ),
|
|
[#f77_local0 + 1] = BuildSquadHeader( {
|
|
text = "",
|
|
team = Lobby.Teams.Axis
|
|
} ),
|
|
[#f77_local0 + 1] = LUI.UIElement.new( {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = 5,
|
|
alpha = 0
|
|
} )
|
|
}
|
|
local self = LUI.UIElement.new( {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
left = 45,
|
|
height = 103,
|
|
width = 512
|
|
} )
|
|
f77_local0[#f77_local0 + 1] = self
|
|
self:addElement( LUI.Playercard.new( nil, {
|
|
gamertag = "",
|
|
clantag = "",
|
|
rank = 0,
|
|
prestige = 0,
|
|
background = "0",
|
|
patchEmblem = "0",
|
|
patchShape = "0",
|
|
patchScale = -0.15
|
|
}, 0 ) )
|
|
return f77_local0
|
|
end
|
|
|
|
function SetupSquadHeaders( f78_arg0, f78_arg1 )
|
|
f78_arg0.properties.localSquadHeader = BuildSquadHeader( {
|
|
team = Lobby.Teams.Allies
|
|
} )
|
|
f78_arg0.properties.opposingSquadHeaderElements = BuildOpposingSquadHeaderElements()
|
|
end
|
|
|
|
function UpdateSquadMember( f79_arg0, f79_arg1 )
|
|
if f79_arg0.properties.memberListState ~= Lobby.MemberListStates.Teams and f79_arg0.properties.memberListState ~= Lobby.MemberListStates.Lobby then
|
|
return
|
|
elseif f79_arg1.team == Lobby.Teams.Axis then
|
|
if not f79_arg0.properties.firstOpposingSquadMember then
|
|
local f79_local0 = Squad.GetEnemySquadName()
|
|
local f79_local1 = Lobby.GetMemberName( f79_arg1.memberListState, f79_arg1.memberSlot, f79_arg1.team ) or ""
|
|
local f79_local2 = Lobby.GetMemberRank( f79_arg1.memberListState, f79_arg1.memberSlot, f79_arg1.team ) or 0
|
|
local f79_local3 = Lobby.GetMemberPrestigeLevel( f79_arg1.memberListState, f79_arg1.memberSlot, f79_arg1.team ) or 0
|
|
local f79_local4 = Lobby.GetMemberPatch( f79_arg1.memberListState, f79_arg1.memberSlot, f79_arg1.team ) or 0
|
|
local f79_local5 = Lobby.GetMemberPatchbacking( f79_arg1.memberListState, f79_arg1.memberSlot, f79_arg1.team ) or 0
|
|
local f79_local6 = Lobby.GetMemberBackground( f79_arg1.memberListState, f79_arg1.memberSlot, f79_arg1.team ) or 0
|
|
local f79_local7 = Lobby.GetMemberClanTag( f79_arg1.memberListState, f79_arg1.memberSlot, f79_arg1.team ) or ""
|
|
if f79_arg0.properties and f79_arg0.properties.opposingSquadHeaderElements then
|
|
for f79_local11, f79_local12 in ipairs( f79_arg0.properties.opposingSquadHeaderElements ) do
|
|
f79_local12:processEvent( {
|
|
name = "set_squad_header_text",
|
|
text = Engine.MarkLocalized( f79_local0 )
|
|
} )
|
|
f79_local12:processEvent( {
|
|
name = "update_playercard",
|
|
gamertag = f79_local1,
|
|
rank = f79_local2,
|
|
prestige = f79_local3,
|
|
patchEmblem = f79_local4,
|
|
background = f79_local6,
|
|
clantag = f79_local7
|
|
} )
|
|
end
|
|
end
|
|
f79_arg0.properties.firstOpposingSquadMember = f79_arg1.playerElement
|
|
end
|
|
else
|
|
if not f79_arg0.properties.firstLocalSquadMember then
|
|
local f79_local0 = Engine.GetFirstActiveController()
|
|
f79_arg0.properties.firstLocalSquadMember = f79_arg1.playerElement
|
|
end
|
|
if f79_arg0.properties.localSquadHeader then
|
|
f79_arg0.properties.localSquadHeader:processEvent( {
|
|
name = "set_squad_header_text",
|
|
text = Engine.MarkLocalized( Squad.GetHostSquadName() )
|
|
} )
|
|
end
|
|
end
|
|
end
|
|
|
|
function member_list()
|
|
return {
|
|
type = "UIVerticalList",
|
|
id = "member_list",
|
|
focusable = true,
|
|
states = {
|
|
default = {
|
|
alignment = LUI.Alignment.Top,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 640,
|
|
right = 1190,
|
|
top = GenericMenuDims.menu_top + 26,
|
|
bottom = GenericMenuDims.menu_bottom,
|
|
spacing = Engine.IsAliensMode() and 6 or 2
|
|
}
|
|
},
|
|
properties = {
|
|
memberListState = MBh.Property( "memberListState" )
|
|
},
|
|
handlers = {
|
|
update_squad_member = UpdateSquadMember,
|
|
menu_create = SetupSquadHeaders,
|
|
member_list_refresh = UpdateSquadHeaders,
|
|
refocus_member_list = HandleRefocusMemberList,
|
|
menu_close = function ( f81_arg0, f81_arg1 )
|
|
f81_arg0.properties.firstLocalSquadMember = nil
|
|
f81_arg0.properties.firstOpposingSquadMember = nil
|
|
end
|
|
|
|
},
|
|
childrenFeeder = MemberListFeeder
|
|
}
|
|
end
|
|
|
|
if Engine.IsConsoleGame() then
|
|
function GetTalkIconState( f82_arg0, f82_arg1, f82_arg2 )
|
|
if Lobby.IsMemberMuted( f82_arg0, f82_arg1, f82_arg2 ) then
|
|
return "muted"
|
|
elseif not Lobby.IsMemberHeadsetConnected( f82_arg0, f82_arg1, f82_arg2 ) then
|
|
return "disabled"
|
|
elseif Lobby.IsMemberTalking( f82_arg0, f82_arg1, f82_arg2 ) then
|
|
return "talking"
|
|
else
|
|
return "quiet"
|
|
end
|
|
end
|
|
|
|
else
|
|
function GetTalkIconState( f83_arg0, f83_arg1, f83_arg2 )
|
|
if Lobby.IsMemberMuted( f83_arg0, f83_arg1, f83_arg2 ) then
|
|
return "muted"
|
|
elseif Lobby.IsMemberTalking( f83_arg0, f83_arg1, f83_arg2 ) then
|
|
return "talking"
|
|
else
|
|
return "disabled"
|
|
end
|
|
end
|
|
|
|
end
|
|
function HandleTalkIconUpdate( f84_arg0, f84_arg1 )
|
|
f84_arg0:animateToState( GetTalkIconState( f84_arg1.memberListState, f84_arg1.memberSlot, f84_arg1.team ), 0 )
|
|
end
|
|
|
|
function member_button( f85_arg0, f85_arg1, f85_arg2 )
|
|
local f85_local0 = LUI.mp_menus.Aliens
|
|
local f85_local1 = Lobby.MemberListMemberHeight
|
|
if SvS.IsSvS() then
|
|
f85_local1 = Lobby.MemberListSquadMemberHeight
|
|
end
|
|
local f85_local2 = 0.5
|
|
local f85_local3 = Engine.IsAliensMode()
|
|
local f85_local4 = f85_arg1.isPublicLobby or false
|
|
local f85_local5 = f85_arg1.isPrivateLobby or false
|
|
local f85_local6 = f85_arg1.isActiveMemberSlot or false
|
|
local f85_local7 = f85_arg1.memberReadyUpFlag or false
|
|
local f85_local8 = f85_arg1.gamerTag or ""
|
|
local f85_local9 = f85_arg1.score or ""
|
|
local f85_local10 = f85_arg1.clanTag or ""
|
|
local f85_local11 = f85_arg1.hasClanTag or false
|
|
local f85_local12 = f85_arg1.memberRank or ""
|
|
local f85_local13 = f85_arg1.memberRankIcon
|
|
if not f85_local13 then
|
|
f85_local13 = RegisterMaterial( "white" )
|
|
end
|
|
local f85_local14 = f85_arg1.memberBotDifficultyIcon
|
|
if not f85_local14 then
|
|
f85_local14 = RegisterMaterial( "white" )
|
|
end
|
|
local f85_local15 = f85_arg1.memberListState
|
|
if not f85_local15 then
|
|
f85_local15 = Lobby.MemberListStates.None
|
|
end
|
|
local f85_local16 = f85_arg1.memberIndex or 1
|
|
local f85_local17 = f85_arg1.memberSlot or 0
|
|
local f85_local18 = f85_arg1.team
|
|
if not f85_local18 then
|
|
f85_local18 = Teams.free
|
|
end
|
|
local f85_local19 = f85_arg1.isSplitscreenPrompt or false
|
|
local f85_local20 = f85_arg1.isLocalMember or false
|
|
local self = LUI.UIButton.new()
|
|
self.id = "member_button_id"
|
|
self.properties = {
|
|
isActiveMemberSlot = f85_local6,
|
|
memberIndex = f85_local16,
|
|
team = f85_local18,
|
|
isPublicLobby = f85_local4,
|
|
isPrivateLobby = f85_local5,
|
|
isSplitscreenPrompt = f85_local19,
|
|
memberListState = f85_local15
|
|
}
|
|
self:registerAnimationState( "default", {
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = -55,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = f85_local1,
|
|
alpha = 1
|
|
} )
|
|
self:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
if not (not f85_local6 and ((f85_local15 == Lobby.MemberListStates.Prelobby) or not Lobby.IsSearching() or f85_local16 > Lobby.GetMemberCount( f85_local15, Teams.free ) or HideEmptyLobbySlots( f85_local15 ))) or f85_local19 then
|
|
self:animateToState( "default", 0 )
|
|
else
|
|
self:animateToState( "hidden", 0 )
|
|
end
|
|
self:registerEventHandler( "menu_create", MBh.DoMultiple( {
|
|
HandleLobbyMemberButtonIsActive,
|
|
HandleLobbyMemberButtonIsDisabled
|
|
} ) )
|
|
self:registerEventHandler( "member_list_refresh", MBh.DoMultiple( {
|
|
HandleLobbyMemberButtonRefresh,
|
|
HandleLobbyMemberButtonIsActive,
|
|
HandleLobbyMemberButtonIsDisabled,
|
|
DispatchSvSPlayercardUpdate
|
|
} ) )
|
|
self:registerEventHandler( "popup_inactive", function ( menu, controller )
|
|
local self = LUI.UITimer.new( 70, {
|
|
name = "member_list_refresh"
|
|
}, nil, true, menu, false )
|
|
self.id = "member_button_popup_restore_timer_id"
|
|
menu:addElement( self )
|
|
LUI.UIButton.popupInactive( menu, controller )
|
|
end )
|
|
self:registerEventHandler( "button_action", HandleLobbyMemberButtonAction )
|
|
self:registerEventHandler( "button_over", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateSetFocused,
|
|
HandleLobbyMemberButtonOver
|
|
} ) )
|
|
self:registerEventHandler( "button_up", HandleLobbyMemberUpdateSetNotFocused )
|
|
self:registerEventHandler( "restore_focus", HandleLobbyMemberRestoreFocus )
|
|
local f85_local22 = LUI.UITimer.new( 250, {
|
|
name = "member_list_refresh"
|
|
}, nil, true, memberButtonSplitscreenPrompt, false )
|
|
f85_local22.id = "member_button_initial_timer_id"
|
|
self:addElement( f85_local22 )
|
|
local f85_local23 = LUI.UIText.new()
|
|
f85_local23.id = "member_button_ss_prompt_id"
|
|
f85_local23.properties = {
|
|
memberListState = f85_local15,
|
|
memberIndex = f85_local16
|
|
}
|
|
f85_local23:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -1 * CoD.TextSettings.SmallFont.Height * 0.5,
|
|
bottom = CoD.TextSettings.SmallFont.Height * 0.5,
|
|
left = 74,
|
|
right = 625,
|
|
font = CoD.TextSettings.SmallFont.Font,
|
|
alignment = LUI.Alignment.Left,
|
|
alpha = 1
|
|
} )
|
|
f85_local23:registerAnimationState( "hidden", {
|
|
alpha = 0
|
|
} )
|
|
f85_local23:animateToState( "default", 0 )
|
|
if not f85_local19 then
|
|
f85_local23:animateToState( "hidden", 0 )
|
|
else
|
|
f85_local23:setText( Lobby.GetNonPlayingLocalClientText( f85_local16 - 1 ) )
|
|
end
|
|
f85_local23:registerEventHandler( "lobby_member_update_ss_prompt", HandleLobbyMemberUpdateSplitscreenPrompt )
|
|
self:addElement( f85_local23 )
|
|
local f85_local24 = LUI.UIHorizontalList.new()
|
|
f85_local24.id = "member_button_list_id"
|
|
f85_local24:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = f85_local1,
|
|
left = 0,
|
|
right = 611,
|
|
alpha = 1
|
|
} )
|
|
f85_local24:animateToState( "default", 0 )
|
|
local f85_local25 = LUI.UIImage.new()
|
|
f85_local25.id = "member_button_talk_icon_id"
|
|
f85_local25:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 33,
|
|
left = 0,
|
|
right = 33,
|
|
material = RegisterMaterial( "icon_online_chat_quiet" ),
|
|
alpha = 0
|
|
} )
|
|
f85_local25:registerAnimationState( "disabled", {
|
|
alpha = 0
|
|
} )
|
|
f85_local25:registerAnimationState( "talking", {
|
|
alpha = 1,
|
|
material = RegisterMaterial( "icon_online_chat" )
|
|
} )
|
|
f85_local25:registerAnimationState( "muted", {
|
|
alpha = 1,
|
|
material = RegisterMaterial( "icon_online_chat_mute" )
|
|
} )
|
|
f85_local25:registerAnimationState( "quiet", {
|
|
alpha = 1,
|
|
material = RegisterMaterial( "icon_online_chat_quiet" )
|
|
} )
|
|
f85_local25:animateToState( "default", 0 )
|
|
f85_local25:animateToState( GetTalkIconState( f85_local15, f85_local17, f85_local18 ), 0 )
|
|
f85_local25:registerEventHandler( "lobby_member_update_content", HandleTalkIconUpdate )
|
|
f85_local25:registerEventHandler( "button_disable", MBh.AnimateToState( "disabled", 0 ) )
|
|
f85_local24:addElement( f85_local25 )
|
|
local f85_local26 = LUI.UIElement.new()
|
|
f85_local26.id = "member_button_lt_id"
|
|
f85_local26:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 26
|
|
} )
|
|
f85_local26:animateToState( "default", 0 )
|
|
f85_local26:registerEventHandler( "button_up", HandleLobbyMemberLeftButtonUp )
|
|
f85_local26:registerEventHandler( "button_over", HandleLobbyMemberLeftButtonOver )
|
|
local f85_local27 = LUI.UIImage.new()
|
|
f85_local27.id = "member_button_lt_bg_id"
|
|
f85_local27.properties = {
|
|
memberListState = f85_local15,
|
|
team = f85_local18,
|
|
isActiveMemberSlot = f85_local6
|
|
}
|
|
f85_local27:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
material = RegisterMaterial( "box_lobby_name_lt" ),
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = f85_local2
|
|
} )
|
|
f85_local27:registerAnimationState( "disabled", {
|
|
alpha = 0.25
|
|
} )
|
|
f85_local27:animateToState( "default", 0 )
|
|
f85_local27:registerEventHandler( "button_disable", MBh.AnimateToState( "disabled", 0 ) )
|
|
f85_local27:registerEventHandler( "button_up", HandleLobbyMemberSetBackground )
|
|
f85_local27:registerEventHandler( "lobby_member_update_bg", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateBackgroundProperties,
|
|
HandleLobbyMemberSetBackground
|
|
} ) )
|
|
local f85_local28 = buildMemberButtonTeamBorder( f85_local15, f85_local17, f85_local18, f85_local6, "box_lobby_name_match_lt" )
|
|
f85_local28.id = "member_button_lt_bg_border_id"
|
|
local f85_local29 = LUI.UIImage.new()
|
|
f85_local29.id = "member_button_party_host_id"
|
|
f85_local29.properties = {
|
|
memberListState = f85_local15,
|
|
memberSlot = f85_local17,
|
|
team = f85_local18
|
|
}
|
|
f85_local29:registerAnimationState( "default", {
|
|
topAnchor = false,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = -16,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 16,
|
|
material = RegisterMaterial( "icon_party_leader" ),
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 0
|
|
} )
|
|
f85_local29:registerAnimationState( "shown", {
|
|
alpha = 1
|
|
} )
|
|
f85_local29:animateToState( "default", 0 )
|
|
if Lobby.ShowMemberPrivatePartyHostIcon( f85_local15, f85_local17, f85_local18 ) then
|
|
f85_local29:animateToState( "shown", 0 )
|
|
end
|
|
f85_local29:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateHostIconProperties,
|
|
HandleLobbyMemberShowHostIcon
|
|
} ) )
|
|
f85_local29:registerEventHandler( "button_disable", MBh.AnimateToState( "default", 0 ) )
|
|
local f85_local30 = LUI.UIImage.new()
|
|
f85_local30.id = "member_button_elite_icon_id"
|
|
f85_local30.properties = {
|
|
memberListState = f85_local15,
|
|
memberSlot = f85_local17,
|
|
team = f85_local18
|
|
}
|
|
f85_local30:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 2,
|
|
bottom = 14,
|
|
left = 3,
|
|
right = 29,
|
|
material = RegisterMaterial( "widg_arrow_dn" ),
|
|
red = 0.33,
|
|
green = 0.71,
|
|
blue = 0.23,
|
|
alpha = 0
|
|
} )
|
|
f85_local30:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f85_local30:animateToState( "default", 0 )
|
|
if ShouldShowEliteIcon( f85_local15, f85_local17, f85_local18 ) then
|
|
f85_local30:animateToState( "visible", 0 )
|
|
end
|
|
f85_local30:registerEventHandler( "lobby_member_update_content", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateEliteIconProperties,
|
|
HandleLobbyMemberUpdateEliteIcon
|
|
} ) )
|
|
f85_local30:registerEventHandler( "button_disable", MBh.AnimateToState( "default", 0 ) )
|
|
f85_local26:addElement( f85_local27 )
|
|
f85_local26:addElement( f85_local28 )
|
|
f85_local26:addElement( f85_local29 )
|
|
f85_local26:addElement( f85_local30 )
|
|
f85_local24:addElement( f85_local26 )
|
|
local f85_local31 = LUI.UIElement.new()
|
|
f85_local31.id = "member_button_mid_id"
|
|
f85_local31:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 544
|
|
} )
|
|
f85_local31:animateToState( "default" )
|
|
f85_local31:registerEventHandler( "button_up", HandleLobbyMemberMidButtonUp )
|
|
f85_local31:registerEventHandler( "button_over", HandleLobbyMemberMidButtonOver )
|
|
local f85_local32 = LUI.UIImage.new()
|
|
f85_local32.id = "member_button_mid_bg_id"
|
|
f85_local32.properties = {
|
|
memberListState = f85_local15,
|
|
team = f85_local18,
|
|
isActiveMemberSlot = f85_local6
|
|
}
|
|
f85_local32:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
material = RegisterMaterial( "box_lobby_name_mid" ),
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = f85_local2
|
|
} )
|
|
f85_local32:registerAnimationState( "disabled", {
|
|
alpha = 0.25
|
|
} )
|
|
f85_local32:animateToState( "default", 0 )
|
|
f85_local32:registerEventHandler( "button_disable", MBh.AnimateToState( "disabled", 0 ) )
|
|
f85_local32:registerEventHandler( "button_up", HandleLobbyMemberSetBackground )
|
|
f85_local32:registerEventHandler( "lobby_member_update_bg", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateBackgroundProperties,
|
|
HandleLobbyMemberSetBackground
|
|
} ) )
|
|
local f85_local33 = buildMemberButtonTeamBorder( f85_local15, f85_local17, f85_local18, f85_local6, "box_lobby_name_match_mid" )
|
|
f85_local33.id = "member_button_mid_bg_border_id"
|
|
f85_local31:addElement( f85_local32 )
|
|
f85_local31:addElement( f85_local33 )
|
|
f85_local31:addElement( buildMemberButtonContent( f85_local15, f85_local17, f85_local18, f85_local12, f85_local13, f85_local14, f85_local11, f85_local10, f85_local8, f85_local9, f85_local7, f85_local5 ) )
|
|
f85_local24:addElement( f85_local31 )
|
|
local f85_local34 = LUI.UIElement.new()
|
|
f85_local34.id = "member_button_rt_id"
|
|
f85_local34:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 8
|
|
} )
|
|
f85_local34:animateToState( "default", 0 )
|
|
f85_local34:registerEventHandler( "button_up", HandleLobbyMemberRightButtonUp )
|
|
f85_local34:registerEventHandler( "button_over", HandleLobbyMemberRightButtonOver )
|
|
local f85_local35 = LUI.UIImage.new()
|
|
f85_local35.id = "member_button_rt_bg_id"
|
|
f85_local35.properties = {
|
|
memberListState = f85_local15,
|
|
team = f85_local18,
|
|
isActiveMemberSlot = f85_local6
|
|
}
|
|
f85_local35:registerAnimationState( "default", {
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = 0,
|
|
bottom = 0,
|
|
left = 0,
|
|
right = 0,
|
|
material = RegisterMaterial( "box_lobby_name_rt" ),
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = f85_local2
|
|
} )
|
|
f85_local35:registerAnimationState( "disabled", {
|
|
alpha = 0.25
|
|
} )
|
|
f85_local35:animateToState( "default", 0 )
|
|
f85_local35:registerEventHandler( "button_disable", MBh.AnimateToState( "disabled", 0 ) )
|
|
f85_local35:registerEventHandler( "button_up", HandleLobbyMemberSetBackground )
|
|
f85_local35:registerEventHandler( "lobby_member_update_bg", MBh.DoMultiple( {
|
|
HandleLobbyMemberUpdateBackgroundProperties,
|
|
HandleLobbyMemberSetBackground
|
|
} ) )
|
|
local f85_local36 = buildMemberButtonTeamBorder( f85_local15, f85_local17, f85_local18, f85_local6, "box_lobby_name_match_rt" )
|
|
f85_local36.id = "member_button_rt_bg_border_id"
|
|
f85_local34:addElement( f85_local35 )
|
|
f85_local34:addElement( f85_local36 )
|
|
f85_local24:addElement( f85_local34 )
|
|
if Engine.IsAliensMode() then
|
|
local f85_local37 = LUI.UIImage.new()
|
|
f85_local37.id = "member_button_alien_splat_id"
|
|
f85_local37:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "box_alien_lobby_name_overlay" ),
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
top = -20,
|
|
bottom = 20,
|
|
left = 40,
|
|
right = 24,
|
|
alpha = 0
|
|
} )
|
|
f85_local37:animateToState( "default" )
|
|
f85_local37:registerAnimationState( "glow", {
|
|
alpha = 1
|
|
} )
|
|
f85_local37:registerEventHandler( "button_up", MBh.AnimateToState( "default" ) )
|
|
f85_local37:registerEventHandler( "button_disable", MBh.AnimateToState( "default" ) )
|
|
f85_local37:registerEventHandler( "button_over_disable", MBh.AnimateToState( "default" ) )
|
|
f85_local37:registerEventHandler( "button_over", MBh.AnimateLoop( {
|
|
{
|
|
"glow",
|
|
1200
|
|
},
|
|
{
|
|
"default",
|
|
1200
|
|
}
|
|
} ) )
|
|
self:addElement( f85_local37 )
|
|
end
|
|
self:addElement( f85_local24 )
|
|
if f85_local5 then
|
|
local f85_local37 = LUI.UIImage.new()
|
|
f85_local37.id = "MLGTag"
|
|
f85_local37:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "icon_mlg_cam" ),
|
|
alignment = LUI.Alignment.Left,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
leftAnchor = true,
|
|
rightAnchor = false,
|
|
left = 80,
|
|
top = 6,
|
|
width = 32,
|
|
height = 16,
|
|
alpha = 0
|
|
} )
|
|
f85_local37:animateToState( "default" )
|
|
f85_local37:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f85_local37:registerAnimationState( "dark", {
|
|
red = 0,
|
|
green = 0,
|
|
blue = 0
|
|
} )
|
|
f85_local37:registerAnimationState( "light", {
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1
|
|
} )
|
|
f85_local37:registerEventHandler( "button_over", MBh.AnimateToState( "dark" ) )
|
|
f85_local37:registerEventHandler( "button_up", MBh.AnimateToState( "light" ) )
|
|
f85_local37:registerEventHandler( "lobby_member_update_content", function ( element, event )
|
|
if Lobby.IsMemberMLGSpectator( f85_local17, Lobby.IsMemberALocalPlayer( event.memberListState, event.memberSlot, event.team ) and Lobby.GetMemberControllerIndex( event.memberListState, event.memberSlot, event.team ) or Engine.GetFirstActiveController() ) then
|
|
element:animateToState( "visible" )
|
|
else
|
|
element:animateToState( "default" )
|
|
end
|
|
end )
|
|
self:addElement( f85_local37 )
|
|
end
|
|
if f85_local3 and not f85_local19 then
|
|
local f85_local37 = 32
|
|
local f85_local38 = LUI.UIImage.new()
|
|
f85_local38.id = "debugelem"
|
|
f85_local38.properties = {
|
|
memberListState = f85_local15,
|
|
memberIndex = f85_local16
|
|
}
|
|
f85_local38:registerAnimationState( "default", {
|
|
material = RegisterMaterial( "box_white_gradient_fade_rt" ),
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 4,
|
|
top = f85_local1 + 1,
|
|
bottom = f85_local1 + f85_local0.AliensMemberListSpacing + 1,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 0
|
|
} )
|
|
f85_local38:registerAnimationState( "visible", {
|
|
alpha = 0.1
|
|
} )
|
|
f85_local38:registerEventHandler( "lobby_member_update_ss_prompt", HandleLobbyMemberUpdateSplitscreenPromptAliens )
|
|
f85_local38:animateToState( "default" )
|
|
self:addElement( f85_local38 )
|
|
local f85_local39 = LUI.UIHorizontalList.new()
|
|
f85_local39.id = "loadout_list_id"
|
|
f85_local39.properties = {
|
|
memberListState = f85_local15,
|
|
memberIndex = f85_local16
|
|
}
|
|
f85_local39:registerAnimationState( "default", {
|
|
alignment = LUI.Alignment.Right,
|
|
leftAnchor = true,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = false,
|
|
left = 0,
|
|
right = 0,
|
|
top = f85_local1 + 1,
|
|
bottom = f85_local1 + f85_local0.AliensMemberListSpacing + 1,
|
|
spacing = 10,
|
|
alpha = 0
|
|
} )
|
|
f85_local39:registerAnimationState( "visible", {
|
|
alpha = 1
|
|
} )
|
|
f85_local39:registerEventHandler( "lobby_member_update_ss_prompt", HandleLobbyMemberUpdateSplitscreenPromptAliens )
|
|
f85_local39:animateToState( "default" )
|
|
self:addElement( f85_local39 )
|
|
local f85_local40 = {
|
|
material = RegisterMaterial( "white" ),
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
left = -f85_local37,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = 0,
|
|
red = 1,
|
|
green = 1,
|
|
blue = 1,
|
|
alpha = 0
|
|
}
|
|
local f85_local41 = {
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
left = 0,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = 0
|
|
}
|
|
local f85_local42 = {
|
|
leftAnchor = false,
|
|
rightAnchor = true,
|
|
topAnchor = true,
|
|
bottomAnchor = true,
|
|
left = -f85_local37,
|
|
right = 0,
|
|
top = 0,
|
|
bottom = 0,
|
|
alpha = 1
|
|
}
|
|
local f85_local43 = LUI.UIImage.new()
|
|
f85_local43.id = "perk0_icon"
|
|
f85_local43:registerAnimationState( "default", f85_local40 )
|
|
f85_local43:registerAnimationState( "collapsed", f85_local41 )
|
|
f85_local43:registerAnimationState( "visible", f85_local42 )
|
|
f85_local43:registerEventHandler( "lobby_member_update_content", function ( element, event )
|
|
HandleUpdatePerkIcon( element, event, 0, true )
|
|
end )
|
|
f85_local43:animateToState( "default" )
|
|
local f85_local44 = LUI.UIImage.new()
|
|
f85_local44.id = "perk1_icon"
|
|
f85_local44:registerAnimationState( "default", f85_local40 )
|
|
f85_local44:registerAnimationState( "collapsed", f85_local41 )
|
|
f85_local44:registerAnimationState( "visible", f85_local42 )
|
|
f85_local44:registerEventHandler( "lobby_member_update_content", function ( element, event )
|
|
HandleUpdatePerkIcon( element, event, 1, true )
|
|
end )
|
|
f85_local44:animateToState( "default" )
|
|
local f85_local45 = LUI.UIImage.new()
|
|
f85_local45.id = "munitions_elem"
|
|
f85_local45:registerAnimationState( "default", f85_local40 )
|
|
f85_local45:registerAnimationState( "collapsed", f85_local41 )
|
|
f85_local45:registerAnimationState( "visible", f85_local42 )
|
|
f85_local45:registerEventHandler( "lobby_member_update_content", function ( element, event )
|
|
HandleUpdateAbilityIcon( element, event, f85_local0.AlienAbilities.Up, true )
|
|
end )
|
|
f85_local45:animateToState( "default" )
|
|
local f85_local46 = LUI.UIImage.new()
|
|
f85_local46.id = "support_elem"
|
|
f85_local46:registerAnimationState( "default", f85_local40 )
|
|
f85_local46:registerAnimationState( "collapsed", f85_local41 )
|
|
f85_local46:registerAnimationState( "visible", f85_local42 )
|
|
f85_local46:registerEventHandler( "lobby_member_update_content", function ( element, event )
|
|
HandleUpdateAbilityIcon( element, event, f85_local0.AlienAbilities.Down, true )
|
|
end )
|
|
f85_local46:animateToState( "default" )
|
|
local f85_local47 = LUI.UIImage.new()
|
|
f85_local47.id = "offense_elem"
|
|
f85_local47:registerAnimationState( "default", f85_local40 )
|
|
f85_local47:registerAnimationState( "collapsed", f85_local41 )
|
|
f85_local47:registerAnimationState( "visible", f85_local42 )
|
|
f85_local47:registerEventHandler( "lobby_member_update_content", function ( element, event )
|
|
HandleUpdateAbilityIcon( element, event, f85_local0.AlienAbilities.Right, false )
|
|
end )
|
|
f85_local47:animateToState( "default" )
|
|
local f85_local48 = LUI.UIImage.new()
|
|
f85_local48.id = "defense_elem"
|
|
f85_local48:registerAnimationState( "default", f85_local40 )
|
|
f85_local48:registerAnimationState( "collapsed", f85_local41 )
|
|
f85_local48:registerAnimationState( "visible", f85_local42 )
|
|
f85_local48:registerEventHandler( "lobby_member_update_content", function ( element, event )
|
|
HandleUpdateAbilityIcon( element, event, f85_local0.AlienAbilities.Left, false )
|
|
end )
|
|
f85_local48:animateToState( "default" )
|
|
f85_local39:addElement( f85_local48 )
|
|
f85_local39:addElement( f85_local47 )
|
|
f85_local39:addElement( f85_local46 )
|
|
f85_local39:addElement( f85_local45 )
|
|
f85_local39:addElement( f85_local44 )
|
|
f85_local39:addElement( f85_local43 )
|
|
end
|
|
return self
|
|
end
|
|
|
|
LUI.MenuBuilder.registerDef( "member_list", member_list )
|
|
LUI.MenuBuilder.registerType( "member_button", member_button )
|
|
LockTable( _M )
|