77 lines
2.1 KiB
Lua
77 lines
2.1 KiB
Lua
|
if (game:issingleplayer() or not Engine.InFrontend()) then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
local SystemLinkJoinMenu = LUI.mp_menus.SystemLinkJoinMenu
|
||
|
|
||
|
game:addlocalizedstring("PLATFORM_SYSTEM_LINK_TITLE", "SERVER LIST")
|
||
|
game:addlocalizedstring("MENU_NUMPLAYERS", "Players")
|
||
|
game:addlocalizedstring("MENU_PING", "Ping")
|
||
|
|
||
|
local offsets = {10, 400, 600, 900, 1075}
|
||
|
|
||
|
local columns = {"@MENU_HOST_NAME", "@MENU_MAP", "@MENU_TYPE1", "@MENU_NUMPLAYERS", "@MENU_PING"}
|
||
|
|
||
|
SystemLinkJoinMenu.AddServerButton = function(menu, controller, index)
|
||
|
local serverInformation = nil
|
||
|
local button = menu:AddButton("", SystemLinkJoinMenu.OnJoinGame)
|
||
|
|
||
|
if index == nil then
|
||
|
button:makeNotFocusable()
|
||
|
serverInformation = function(i)
|
||
|
return Engine.Localize(columns[i])
|
||
|
end
|
||
|
else
|
||
|
button:makeFocusable()
|
||
|
button.index = index
|
||
|
serverInformation = function(i)
|
||
|
return Lobby.GetServerData(controller, index, i - 1)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
for size = 1, #offsets do
|
||
|
SystemLinkJoinMenu.MakeText(button, offsets[size], serverInformation(size))
|
||
|
end
|
||
|
|
||
|
return button
|
||
|
end
|
||
|
|
||
|
function menu_systemlink_join(f19_arg0, f19_arg1)
|
||
|
local menu = LUI.MenuTemplate.new(f19_arg0, {
|
||
|
menu_title = "@PLATFORM_SYSTEM_LINK_TITLE",
|
||
|
menu_width = CoD.DesignGridHelper(28)
|
||
|
})
|
||
|
Lobby.BuildServerList(Engine.GetFirstActiveController())
|
||
|
Lobby.RefreshServerList(Engine.GetFirstActiveController())
|
||
|
|
||
|
SystemLinkJoinMenu.UpdateGameList(menu)
|
||
|
menu:registerEventHandler("updateGameList", SystemLinkJoinMenu.UpdateGameList)
|
||
|
menu:addElement(LUI.UITimer.new(250, "updateGameList"))
|
||
|
|
||
|
menu:AddHelp({
|
||
|
name = "add_button_helper_text",
|
||
|
button_ref = "button_alt1",
|
||
|
helper_text = Engine.Localize("@MENU_SB_TOOLTIP_BTN_REFRESH"),
|
||
|
side = "right",
|
||
|
clickable = true,
|
||
|
priority = -1000
|
||
|
}, function(f10_arg0, f10_arg1)
|
||
|
SystemLinkJoinMenu.RefreshServers(f10_arg0, f10_arg1, menu)
|
||
|
end)
|
||
|
|
||
|
menu:AddHelp({
|
||
|
name = "add_button_helper_text",
|
||
|
button_ref = "button_action",
|
||
|
helper_text = Engine.Localize("@MENU_JOIN_GAME1"),
|
||
|
side = "right",
|
||
|
clickable = false,
|
||
|
priority = -1000
|
||
|
})
|
||
|
|
||
|
menu:AddBackButton()
|
||
|
|
||
|
return menu
|
||
|
end
|
||
|
|
||
|
LUI.MenuBuilder.m_types_build["menu_systemlink_join"] = menu_systemlink_join
|