Untitled
unknown
plain_text
a year ago
27 kB
12
Indexable
require( "ui.uieditor.widgets.ZMInventory.ZMMapSelection.List1ButtonLarge_ZM" )
require( "ui.uieditor.widgets.Scrollbars.verticalScrollbar" )
require( "ui.uieditor.widgets.verticalScrollingTextBox" )
require( "ui.uieditor.widgets.Scrollbars.verticalCounter" )
require( "ui.uieditor.widgets.BackgroundFrames.GenericMenuFrame" ) -- modified to remove background elements !
require( "ui.uieditor.widgets.ZMInventory.ZMMapSelection.ZMMissionTile" )
--require( "ui.uieditor.widgets.Lobby.Common.FE_TitleLine" )
require( "ui.uieditor.widgets.DLC_Free_weekend" )
require( "ui.uieditor.widgets.Lobby.Common.FE_Menu_LeftGraphics" )
require( "ui.uieditor.widgets.ZMInventory.ZMMapSelection.ZMLobbyEEWidget" )
local PrintDebugCustom = function(message)
Engine.ComError(Enum.errorCode.ERROR_UI, message)
end
local PreLoadFunc = function ( self, controller )
self.preLoadImageModel = Engine.CreateModel( Engine.GetModelForController( controller ), "ZMMapSelectionPreloadImage" )
end
local PostLoadFunc = function ( f2_arg0, f2_arg1 )
f2_arg0.StreamedImagePreloader:subscribeToModel( f2_arg0.preLoadImageModel, function ( model )
local modelValue = Engine.GetModelValue( model )
if modelValue and CoD.GetMapValue( modelValue, "dlc_pack", 0 ) == 7 then
f2_arg0.StreamedImagePreloader:setImage( RegisterImage( MapNameToMapLoadingImage( modelValue ) ) )
end
end, false )
LUI.OverrideFunction_CallOriginalSecond( f2_arg0, "close", function ( element )
Engine.UnsubscribeAndFreeModel( element.preLoadImageModel )
end )
end
LUI.createMenu.ZMMapSelection = function ( controller )
local self = CoD.Menu.NewForUIEditor( "ZMMapSelection" )
if PreLoadFunc then
PreLoadFunc( self, controller )
end
self.soundSet = "MultiplayerMain"
self:setOwner( controller )
self:setLeftRight( true, true, 0, 0 )
self:setTopBottom( true, true, 0, 0 )
self:playSound( "menu_open", controller )
self.buttonModel = Engine.CreateModel( Engine.GetModelForController( controller ), "ZMMapSelection.buttonPrompts" )
local f5_local1 = self
self.anyChildUsesUpdateState = true
local Bkg = LUI.UIImage.new() -- BLACK BACKGROUND
Bkg:setLeftRight( true, false, 0, 1280 )
Bkg:setTopBottom( true, false, -16.5, 720 )
Bkg:setRGB( 0, 0, 0 )
Bkg:setAlpha( 0.95 )
self:addElement( Bkg )
self.Bkg = Bkg
local MapList = LUI.UIList.new( f5_local1, controller, 2, 0, nil, false, false, 0, 0, false, false )
MapList:makeFocusable()
MapList:setLeftRight( true, false, 64, 344 )
MapList:setTopBottom( true, false, 134, 540 )
MapList:setWidgetType( CoD.List1ButtonLarge_ZM )
MapList:setVerticalCount( 12 )
MapList:setVerticalCounter( CoD.verticalCounter )
MapList:setVerticalScrollbar( CoD.verticalScrollbar )
MapList:setDataSource( "ZMMapsList" )
MapList:linkToElementModel( MapList, "disabled", true, function ( model )
local f6_local0 = MapList
local f6_local1 = {
controller = controller,
name = "model_validation",
modelValue = Engine.GetModelValue( model ),
modelName = "disabled"
}
CoD.Menu.UpdateButtonShownState( f6_local0, f5_local1, controller, Enum.LUIButton.LUI_KEY_XBA_PSCROSS )
end )
MapList:registerEventHandler( "list_item_gain_focus", function ( element, event )
local f7_local0 = nil
SetElementPropertyOnPerControllerTable( controller, "zmLobbyEEMapRef", element, "mapId" )
UpdateElementDataSource( self, "ZMLobbyEEList" )
SetControllerModelValue( controller, "ZMMapSelectionPreloadImage", element.mapId )
return f7_local0
end )
MapList:registerEventHandler( "gain_focus", function ( element, event )
local f8_local0 = nil
if element.gainFocus then
f8_local0 = element:gainFocus( event )
elseif element.super.gainFocus then
f8_local0 = element.super:gainFocus( event )
end
CoD.Menu.UpdateButtonShownState( element, f5_local1, controller, Enum.LUIButton.LUI_KEY_XBA_PSCROSS )
CoD.Menu.UpdateButtonShownState( element, f5_local1, controller, Enum.LUIButton.LUI_KEY_XBX_PSSQUARE )
return f8_local0
end )
MapList:registerEventHandler( "lose_focus", function ( element, event )
local f9_local0 = nil
if element.loseFocus then
f9_local0 = element:loseFocus( event )
elseif element.super.loseFocus then
f9_local0 = element.super:loseFocus( event )
end
return f9_local0
end )
f5_local1:AddButtonCallbackFunction( MapList, controller, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "ENTER", function ( f10_arg0, f10_arg1, f10_arg2, f10_arg3 )
if IsPerControllerTablePropertyValue( f10_arg2, "choosingZMPlaylist", true ) and IsElementPropertyValue( f10_arg0, "purchasable", true ) then
OpenPurchaseMapPackConfirmation( f10_arg2, f10_arg0, "ZMMapSelect", f10_arg1 )
return true
elseif IsPerControllerTablePropertyValue( f10_arg2, "choosingZMPlaylist", true ) and not IsDisabled( f10_arg0, f10_arg2 ) then
PlaylistSelected( f10_arg1, f10_arg0, f10_arg2 )
ClearSavedState( self, f10_arg2 )
return true
elseif IsElementPropertyValue( f10_arg0, "purchasable", true ) then
OpenPurchaseMapPackConfirmation( f10_arg2, f10_arg0, "ZMMapSelect", f10_arg1 )
return true
elseif not IsDisabled( f10_arg0, f10_arg2 ) then
ProcessZMMapSelectListAction( self, f10_arg0, f10_arg2, f10_arg1 )
return true
else
end
end, function ( f11_arg0, f11_arg1, f11_arg2 )
if IsPerControllerTablePropertyValue( f11_arg2, "choosingZMPlaylist", true ) and IsElementPropertyValue( f11_arg0, "purchasable", true ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
elseif IsPerControllerTablePropertyValue( f11_arg2, "choosingZMPlaylist", true ) and not IsDisabled( f11_arg0, f11_arg2 ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
elseif IsElementPropertyValue( f11_arg0, "purchasable", true ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
elseif not IsDisabled( f11_arg0, f11_arg2 ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
else
return false
end
end, false )
f5_local1:AddButtonCallbackFunction( MapList, controller, Enum.LUIButton.LUI_KEY_XBX_PSSQUARE, nil, function ( f12_arg0, f12_arg1, f12_arg2, f12_arg3 )
if IsDvarValueEqualTo( "ui_freeDLC1", "1" ) and ShouldShowDLCWidget( f12_arg2, "mp_rise" ) and IsElementPropertyValue( f12_arg0, "purchasable", true ) then
OpenPurchaseMapPackConfirmation( f12_arg2, f12_arg0, "ZMMapSelect", f12_arg1 )
return true
else
end
end, function ( f13_arg0, f13_arg1, f13_arg2 )
if IsDvarValueEqualTo( "ui_freeDLC1", "1" ) and ShouldShowDLCWidget( f13_arg2, "mp_rise" ) and IsElementPropertyValue( f13_arg0, "purchasable", true ) then
CoD.Menu.SetButtonLabel( f13_arg1, Enum.LUIButton.LUI_KEY_XBX_PSSQUARE, "" )
return false
else
return false
end
end, false )
self:addElement( MapList )
self.MapList = MapList
-- KJ MAP LIST 2
local MapList2 = LUI.UIList.new( f5_local1, controller, 2, 0, nil, false, false, 0, 0, false, false )
MapList2:makeFocusable()
MapList2:setLeftRight( true, false, 214, 494 ) -- 64, 344
MapList2:setTopBottom( true, false, 134, 540 )
MapList2:setWidgetType( CoD.List1ButtonLarge_ZM )
MapList2:setVerticalCount( 12 )
MapList2:setVerticalCounter( CoD.verticalCounter )
MapList2:setVerticalScrollbar( CoD.verticalScrollbar )
MapList2:setDataSource( "ZMMapsList" )
MapList2:linkToElementModel( MapList2, "disabled", true, function ( model )
local f6_local0 = MapList2
local f6_local1 = {
controller = controller,
name = "model_validation",
modelValue = Engine.GetModelValue( model ),
modelName = "disabled"
}
CoD.Menu.UpdateButtonShownState( f6_local0, f5_local1, controller, Enum.LUIButton.LUI_KEY_XBA_PSCROSS )
end )
MapList2:registerEventHandler( "list_item_gain_focus", function ( element, event )
local f7_local0 = nil
SetElementPropertyOnPerControllerTable( controller, "zmLobbyEEMapRef", element, "mapId" )
UpdateElementDataSource( self, "ZMLobbyEEList" )
SetControllerModelValue( controller, "ZMMapSelectionPreloadImage", element.mapId )
return f7_local0
end )
MapList2:registerEventHandler( "gain_focus", function ( element, event )
local f8_local0 = nil
if element.gainFocus then
f8_local0 = element:gainFocus( event )
elseif element.super.gainFocus then
f8_local0 = element.super:gainFocus( event )
end
CoD.Menu.UpdateButtonShownState( element, f5_local1, controller, Enum.LUIButton.LUI_KEY_XBA_PSCROSS )
CoD.Menu.UpdateButtonShownState( element, f5_local1, controller, Enum.LUIButton.LUI_KEY_XBX_PSSQUARE )
return f8_local0
end )
MapList2:registerEventHandler( "lose_focus", function ( element, event )
local f9_local0 = nil
if element.loseFocus then
f9_local0 = element:loseFocus( event )
elseif element.super.loseFocus then
f9_local0 = element.super:loseFocus( event )
end
return f9_local0
end )
f5_local1:AddButtonCallbackFunction( MapList2, controller, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "ENTER", function ( f10_arg0, f10_arg1, f10_arg2, f10_arg3 )
if IsPerControllerTablePropertyValue( f10_arg2, "choosingZMPlaylist", true ) and IsElementPropertyValue( f10_arg0, "purchasable", true ) then
OpenPurchaseMapPackConfirmation( f10_arg2, f10_arg0, "ZMMapSelect", f10_arg1 )
return true
elseif IsPerControllerTablePropertyValue( f10_arg2, "choosingZMPlaylist", true ) and not IsDisabled( f10_arg0, f10_arg2 ) then
PlaylistSelected( f10_arg1, f10_arg0, f10_arg2 )
ClearSavedState( self, f10_arg2 )
return true
elseif IsElementPropertyValue( f10_arg0, "purchasable", true ) then
OpenPurchaseMapPackConfirmation( f10_arg2, f10_arg0, "ZMMapSelect", f10_arg1 )
return true
elseif not IsDisabled( f10_arg0, f10_arg2 ) then
ProcessZMMapSelectListAction( self, f10_arg0, f10_arg2, f10_arg1 )
return true
else
end
end, function ( f11_arg0, f11_arg1, f11_arg2 )
if IsPerControllerTablePropertyValue( f11_arg2, "choosingZMPlaylist", true ) and IsElementPropertyValue( f11_arg0, "purchasable", true ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
elseif IsPerControllerTablePropertyValue( f11_arg2, "choosingZMPlaylist", true ) and not IsDisabled( f11_arg0, f11_arg2 ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
elseif IsElementPropertyValue( f11_arg0, "purchasable", true ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
elseif not IsDisabled( f11_arg0, f11_arg2 ) then
CoD.Menu.SetButtonLabel( f11_arg1, Enum.LUIButton.LUI_KEY_XBA_PSCROSS, "MENU_SELECT" )
return true
else
return false
end
end, false )
f5_local1:AddButtonCallbackFunction( MapList2, controller, Enum.LUIButton.LUI_KEY_XBX_PSSQUARE, nil, function ( f12_arg0, f12_arg1, f12_arg2, f12_arg3 )
if IsDvarValueEqualTo( "ui_freeDLC1", "1" ) and ShouldShowDLCWidget( f12_arg2, "mp_rise" ) and IsElementPropertyValue( f12_arg0, "purchasable", true ) then
OpenPurchaseMapPackConfirmation( f12_arg2, f12_arg0, "ZMMapSelect", f12_arg1 )
return true
else
end
end, function ( f13_arg0, f13_arg1, f13_arg2 )
if IsDvarValueEqualTo( "ui_freeDLC1", "1" ) and ShouldShowDLCWidget( f13_arg2, "mp_rise" ) and IsElementPropertyValue( f13_arg0, "purchasable", true ) then
CoD.Menu.SetButtonLabel( f13_arg1, Enum.LUIButton.LUI_KEY_XBX_PSSQUARE, "" )
return false
else
return false
end
end, false )
self:addElement( MapList2 )
self.MapList2 = MapList2
local MapPreview = LUI.UIImage.new()
MapPreview:setLeftRight( true, false, 450.38, 1216 )
MapPreview:setTopBottom( true, false, 131, 453 )
self:addElement( MapPreview )
self.MapPreview = MapPreview
local MissionBriefTitle = LUI.UIText.new() -- TITLE UNDER THE MAP NAME, RIGHT ABOVE THE MAP DESC(MISSION BRIEFING)
MissionBriefTitle:setLeftRight( true, false, 469.38, 802.34 )
MissionBriefTitle:setTopBottom( true, false, 469.84, 493.84 )
--MissionBriefTitle:setText( Engine.Localize( "MENU_MISSION_BRIEFING_CAPS" ) )
MissionBriefTitle:setText( Engine.Localize( "^9[^5PZM^9]^7 PEG^9A^7SUS ^1ZOMBIE ^9MOD" ) )
MissionBriefTitle:setTTF( "fonts/RefrigeratorDeluxe-Regular.ttf" )
MissionBriefTitle:setAlignment( Enum.LUIAlignment.LUI_ALIGNMENT_LEFT )
MissionBriefTitle:setAlignment( Enum.LUIAlignment.LUI_ALIGNMENT_TOP )
self:addElement( MissionBriefTitle )
self.MissionBriefTitle = MissionBriefTitle
local MissionBriefText = CoD.verticalScrollingTextBox.new( f5_local1, controller )
MissionBriefText:setLeftRight( true, false, 469.38, 1211 )
MissionBriefText:setTopBottom( true, false, 503.23, 675.23 )
MissionBriefText.textBox:setTTF( "fonts/RefrigeratorDeluxe-Regular.ttf" )
MissionBriefText.textBox:setAlignment( Enum.LUIAlignment.LUI_ALIGNMENT_LEFT )
self:addElement( MissionBriefText )
self.MissionBriefText = MissionBriefText
local Banner = LUI.UIImage.new()
Banner:setLeftRight( true, false, 2450.38, 2216 ) -- 450.38, 1216
Banner:setTopBottom( true, false, 2395, 2453 ) -- 395.5, 453
Banner:setRGB( 0, 0, 0 )
Banner:setAlpha( 0.7 )
self:addElement( Banner )
self.Banner = Banner
local PlayCount = LUI.UIText.new()
PlayCount:setLeftRight( true, false, 876.04, 1211 )
PlayCount:setTopBottom( true, false, 375.5, 394.5 )
PlayCount:setTTF( "fonts/UnitedSansSmCdMd.ttf" )
PlayCount:setAlignment( Enum.LUIAlignment.LUI_ALIGNMENT_RIGHT )
PlayCount:setAlignment( Enum.LUIAlignment.LUI_ALIGNMENT_TOP )
self:addElement( PlayCount )
self.PlayCount = PlayCount
local MenuFrame = CoD.GenericMenuFrame.new( f5_local1, controller ) -- controls backbutton.. also controls map txt top left
MenuFrame:setLeftRight( true, true, 0, 0 )
MenuFrame:setTopBottom( true, true, -2, -2 )
--MenuFrame.titleLabel:setText( Engine.Localize( "" ) ) -- "MPUI_MAPS_CAPS"
--MenuFrame.cac3dTitleIntermediary0.FE3dTitleContainer0.MenuTitle.TextBox1.Label0:setText( Engine.Localize( "" ) ) -- "MPUI_MAPS_CAPS"
--MenuFrame.cac3dTitleIntermediary0.FE3dTitleContainer0.MenuTitle.TextBox1.FeatureIcon.FeatureIcon:setImage( RegisterImage( "uie_t7_mp_icon_header_bubblebuffs" ) )
self:addElement( MenuFrame )
self.MenuFrame = MenuFrame
local ZMMissionTile = CoD.ZMMissionTile.new( f5_local1, controller ) -- MAP NAME
ZMMissionTile:setLeftRight( true, false, 463.38, 757.34 )
ZMMissionTile:setTopBottom( true, false, 405, 444 )
self:addElement( ZMMissionTile )
self.ZMMissionTile = ZMMissionTile
local DLCFreeweekend = CoD.DLC_Free_weekend.new( f5_local1, controller )
DLCFreeweekend:setLeftRight( true, false, 74, 447.87 )
DLCFreeweekend:setTopBottom( true, false, 494, 660 )
DLCFreeweekend.DLCFreeTitleAndText.Title:setText( Engine.Localize( "MENU_DLC1_TRY_AWAKENING_FREE" ) )
DLCFreeweekend.DLCFreeTitleAndText.Body:setText( Engine.Localize( "MENU_DLC1_ZM_TRY_AWAKENING_FREE_DESC" ) )
DLCFreeweekend:mergeStateConditions( {
{
stateName = "Visible",
condition = function ( menu, element, event )
local f14_local0 = IsDvarValueEqualTo( "ui_freeDLC1", "1" )
if f14_local0 then
f14_local0 = ShouldShowDLCWidget( controller, "mp_rise" )
if f14_local0 then
f14_local0 = IsPerControllerTablePropertyValue( controller, "choosingZMPlaylist", true )
end
end
return f14_local0
end
}
} )
self:addElement( DLCFreeweekend )
self.DLCFreeweekend = DLCFreeweekend
local ZMLobbyEEList = LUI.UIList.new( f5_local1, controller, -8, 0, nil, false, false, 0, 0, false, false )
ZMLobbyEEList:makeFocusable()
ZMLobbyEEList:setLeftRight( false, true, -331.49, -63.49 )
ZMLobbyEEList:setTopBottom( false, true, -324, -264 )
ZMLobbyEEList:setAlpha( 0.9 )
ZMLobbyEEList:setWidgetType( CoD.ZMLobbyEEWidget )
ZMLobbyEEList:setHorizontalCount( 5 )
ZMLobbyEEList:setSpacing( -8 )
ZMLobbyEEList:setDataSource( "ZMLobbyEEMapSelect" )
self:addElement( ZMLobbyEEList )
self.ZMLobbyEEList = ZMLobbyEEList
local StreamedImagePreloader = LUI.UIImage.new()
StreamedImagePreloader:setLeftRight( true, false, 1280, 1408 )
StreamedImagePreloader:setTopBottom( true, false, 351.75, 479.75 )
StreamedImagePreloader:setAlpha( 0 )
StreamedImagePreloader:setupUIStreamedImage( 0 )
self:addElement( StreamedImagePreloader )
self.StreamedImagePreloader = StreamedImagePreloader
-- Keep track of which tab is selected
local tabSelected = 1
local tabNames = {"STOCK MAPS", "CUSTOM MAPS"}
-- Function to update all tab appearances
-- Update all tabs + show the right list
local function UpdateTabAppearance(self)
if not self.tabButtons then return end
for i, btn in ipairs(self.tabButtons) do
local isSel = (i == tabSelected)
btn.m_selected = isSel
if isSel then
btn:setState("Selected")
btn:playClip("DefaultClip")
else
btn:setState("DefaultState")
btn:playClip("DefaultClip")
end
end
-- toggle lists
local tabName = tabNames[tabSelected]
if tabName == "STOCK MAPS" then
if self.MapList then self.MapList:setAlpha(1) end
if self.MapList2 then self.MapList2:setAlpha(0) end
else -- "CUSTOM MAPS"
if self.MapList then self.MapList:setAlpha(0) end
if self.MapList2 then self.MapList2:setAlpha(1) end
end
end
-- CreateTabButton
local function CreateTabButton(self, index, labelText, x, y, width, height)
local btn = LUI.UIButton.new()
btn:setLeftRight(true, false, x, x + width)
btn:setTopBottom(true, false, y, y + height)
btn:makeFocusable()
btn:setHandleMouse(true)
btn:setForceMouseEventDispatch(true)
btn.m_button = true -- helps mouse routing in some menus
-- background
local bg = LUI.UIImage.new()
bg:setLeftRight(true, true, 0, 0)
bg:setTopBottom(true, true, 0, 0)
bg:setImage(RegisterImage("uie_t7_hud_loadingscreen_factionbox_codcaster"))
bg:setRGB(0.65, 0.0, 0.0)
btn:addElement(bg)
btn.bg = bg
-- label
local label = LUI.UIText.new()
label:setLeftRight(true, true, 0, 0)
label:setTopBottom(true, true, 0, 0)
label:setTTF("fonts/escom.ttf")
label:setAlignment(Enum.LUIAlignment.LUI_ALIGNMENT_CENTER)
label:setText(labelText or "")
btn:addElement(label)
btn.label = label
----------------------------------------------------------------
-- CLIPS: Default (idle), Over (hover), Selected (active)
----------------------------------------------------------------
-- inside your CreateTabButton function, *after* adding bg + label
btn.clipsPerState = {
DefaultState = {
DefaultClip = function (element)
element:setupElementClipCounter(2)
element.bg:completeAnimation()
element.bg:setAlpha(0.5)
element.clipFinished(element.bg, {})
element.label:completeAnimation()
element.label:setRGB(0.7, 0.7, 0.7)
element.clipFinished(element.label, {})
end
},
Over = {
DefaultClip = function (element)
element:setupElementClipCounter(2)
element.bg:completeAnimation()
element.bg:setAlpha(0.8)
element.clipFinished(element.bg, {})
element.label:completeAnimation()
element.label:setRGB(1, 1, 1)
element.clipFinished(element.label, {})
end
},
Selected = {
DefaultClip = function (element)
element:setupElementClipCounter(2)
element.bg:completeAnimation()
element.bg:setAlpha(1)
element.clipFinished(element.bg, {})
element.label:completeAnimation()
element.label:setRGB(1, 1, 1)
element.clipFinished(element.label, {})
end
}
}
-- initial state
btn.m_selected = (index == tabSelected)
btn:setState(btn.m_selected and "Selected" or "DefaultState")
btn:playClip("DefaultClip")
----------------------------------------------------------------
-- EVENTS: click to select, focus/mouse to hover
----------------------------------------------------------------
btn:registerEventHandler("gain_focus", function(element, event)
if not element.m_selected then
element:setState("Over")
end
return true
end)
btn:registerEventHandler("lose_focus", function(element, event)
if not element.m_selected then
element:setState("DefaultState")
end
return true
end)
btn:registerEventHandler("mouseenter", function(element, event)
if not element.m_selected then
element:setState("Over")
end
return true
end)
btn:registerEventHandler("mouseleave", function(element, event)
if not element.m_selected then
element:setState("DefaultState")
end
return true
end)
btn:registerEventHandler("leftmouseup", function(element, event) -- click the button -- only one working
tabSelected = index
element.m_selected = true
UpdateTabAppearance(self)
element:setState("Selected")
return true
end)
-- add + track
self:addElement(btn)
self.tabButtons = self.tabButtons or {}
self.tabButtons[index] = btn
return btn
end
-- Create two tabs
--local tabWidth, tabHeight = 200, 30
local tabWidth = 100
local tabHeight = 20
--CreateTabButton( self, index, labelText, x, y, width, height )
CreateTabButton(self, 1, "STOCK MAPS", 0, 20, tabWidth, tabHeight)
CreateTabButton(self, 2, "CUSTOM MAPS", 100, 20, tabWidth, tabHeight)
-- initialize appearance
UpdateTabAppearance(self)
MapPreview:linkToElementModel( MapList, "Image", true, function ( model )
local Image = Engine.GetModelValue( model )
if Image then
MapPreview:setImage( RegisterImage( MapImageToModPreview( Image ) ) )
end
end )
MissionBriefText:linkToElementModel( MapList, "mapDescription", true, function ( model )
local mapDescription = Engine.GetModelValue( model )
if mapDescription then
MissionBriefText.textBox:setText( Engine.Localize( mapDescription ) )
end
end )
PlayCount:linkToElementModel( MapList, "playingCount", true, function ( model )
local playingCount = Engine.GetModelValue( model )
if playingCount then
PlayCount:setText( Engine.Localize( playingCount ) )
end
end )
ZMMissionTile:linkToElementModel( MapList, "mapName", true, function ( model )
local mapName = Engine.GetModelValue( model )
if mapName then
ZMMissionTile.MapName:setText( Engine.Localize( mapName ) )
end
end )
MapPreview:linkToElementModel( MapList2, "Image", true, function ( model )
local Image = Engine.GetModelValue( model )
if Image then
MapPreview:setImage( RegisterImage( MapImageToModPreview( Image ) ) )
end
end )
MissionBriefText:linkToElementModel( MapList2, "mapDescription", true, function ( model )
local mapDescription = Engine.GetModelValue( model )
if mapDescription then
MissionBriefText.textBox:setText( Engine.Localize( mapDescription ) )
end
end )
PlayCount:linkToElementModel( MapList2, "playingCount", true, function ( model )
local playingCount = Engine.GetModelValue( model )
if playingCount then
PlayCount:setText( Engine.Localize( playingCount ) )
end
end )
ZMMissionTile:linkToElementModel( MapList2, "mapName", true, function ( model )
local mapName = Engine.GetModelValue( model )
if mapName then
ZMMissionTile.MapName:setText( Engine.Localize( mapName ) )
end
end )
MapList.navigation = {
right = ZMLobbyEEList
}
MapList2.navigation = {
right = ZMLobbyEEList
}
--ZMLobbyEEList.navigation = { // KJ DO WE NEED THIS
-- left = MapList
--}
self.clipsPerState = {
DefaultState = {
DefaultClip = function ()
self:setupElementClipCounter( 2 )
Banner:completeAnimation()
self.Banner:setAlpha( 0.65 )
self.clipFinished( Banner, {} )
PlayCount:completeAnimation()
self.PlayCount:setAlpha( 1 )
self.clipFinished( PlayCount, {} )
end
},
Playlists = {
DefaultClip = function ()
self:setupElementClipCounter( 2 )
Banner:completeAnimation()
self.Banner:setAlpha( 0.65 )
self.clipFinished( Banner, {} )
PlayCount:completeAnimation()
self.PlayCount:setAlpha( 1 )
self.clipFinished( PlayCount, {} )
end
}
}
self:mergeStateConditions( {
{
stateName = "Playlists",
condition = function ( menu, element, event )
return IsPerControllerTablePropertyValue( controller, "choosingZMPlaylist", true )
end
}
} )
CoD.Menu.AddNavigationHandler( f5_local1, self, controller )
f5_local1:AddButtonCallbackFunction( self, controller, Enum.LUIButton.LUI_KEY_XBB_PSCIRCLE, nil, function ( f22_arg0, f22_arg1, f22_arg2, f22_arg3 )
GoBack( self, f22_arg2 )
return true
end, function ( f23_arg0, f23_arg1, f23_arg2 )
CoD.Menu.SetButtonLabel( f23_arg1, Enum.LUIButton.LUI_KEY_XBB_PSCIRCLE, "MENU_BACK" )
return true
end, false )
MapList.id = "MapList"
MapList2.id = "MapList2"
MenuFrame:setModel( self.buttonModel, controller )
ZMLobbyEEList.id = "ZMLobbyEEList"
self:processEvent( {
name = "menu_loaded",
controller = controller
} )
self:processEvent( {
name = "update_state",
menu = f5_local1
} )
if not self:restoreState() then
self.MapList:processEvent( {
name = "gain_focus",
controller = controller
} )
end
if not self:restoreState() then
self.MapList2:processEvent( {
name = "gain_focus",
controller = controller
} )
end
LUI.OverrideFunction_CallOriginalSecond( self, "close", function ( element )
element.MapList:close()
element.MapList2:close()
element.MissionBriefText:close()
element.MenuFrame:close()
element.ZMMissionTile:close()
element.DLCFreeweekend:close()
element.ZMLobbyEEList:close()
element.MapPreview:close()
element.PlayCount:close()
Engine.UnsubscribeAndFreeModel( Engine.GetModel( Engine.GetModelForController( controller ), "ZMMapSelection.buttonPrompts" ) )
end )
if PostLoadFunc then
PostLoadFunc( self, controller )
end
return self
endEditor is loading...
Leave a Comment