add systemlink row ui_scripts
This commit is contained in:
parent
02752b7887
commit
6740c9e8ed
@ -1,5 +1,4 @@
|
|||||||
local serverBrowserPath = "frontEnd.systemLinkMenu.serverBrowser"
|
local serverBrowserPath = "frontEnd.systemLinkMenu.serverBrowser"
|
||||||
local serverBrowserOffsets = {10, 240, 360, 450}
|
|
||||||
|
|
||||||
local leaveMenuHandler = function(menu, controller)
|
local leaveMenuHandler = function(menu, controller)
|
||||||
-- Engine.StopGameMode()
|
-- Engine.StopGameMode()
|
||||||
|
242
data/cdata/ui_scripts/SystemLinkMenu/SystemLinkJoinMenuRow.lua
Normal file
242
data/cdata/ui_scripts/SystemLinkMenu/SystemLinkJoinMenuRow.lua
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
local function PostLoadFunc(element, controllerIndex, controller)
|
||||||
|
element:addEventHandler("button_action", function(arg0, arg1)
|
||||||
|
local dataSource = element:GetDataSource()
|
||||||
|
Lobby.JoinServer(controllerIndex, dataSource.index)
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function SystemLinkJoinMenuRow(menu, controller)
|
||||||
|
local self = LUI.UIButton.new()
|
||||||
|
self:SetAnchorsAndPosition(0, 1, 0, 1, 0, 1131 * _1080p, 0, 35 * _1080p)
|
||||||
|
self.id = "SystemLinkJoinMenuRow"
|
||||||
|
self._animationSets = {}
|
||||||
|
self._sequences = {}
|
||||||
|
local controllerIndex = controller and controller.controllerIndex
|
||||||
|
if not controllerIndex and not Engine.InFrontend() then
|
||||||
|
controllerIndex = self:getRootController()
|
||||||
|
end
|
||||||
|
assert(controllerIndex)
|
||||||
|
|
||||||
|
local DropShadow = nil
|
||||||
|
|
||||||
|
DropShadow = LUI.UIImage.new()
|
||||||
|
DropShadow.id = "DropShadow"
|
||||||
|
DropShadow:SetRGBFromInt(0, 0)
|
||||||
|
DropShadow:SetAlpha(0.3, 0)
|
||||||
|
DropShadow:setImage(RegisterMaterial("widg_gradient_top_to_bottom"), 0)
|
||||||
|
DropShadow:SetAnchorsAndPosition(0, 0, 1, 0, 0, 0, 0, _1080p * 4)
|
||||||
|
self:addElement(DropShadow)
|
||||||
|
self.DropShadow = DropShadow
|
||||||
|
|
||||||
|
local RowBG = nil
|
||||||
|
|
||||||
|
RowBG = LUI.UIImage.new()
|
||||||
|
RowBG.id = "RowBG"
|
||||||
|
RowBG:SetRGBFromInt(0, 0)
|
||||||
|
RowBG:SetAlpha(0.5, 0)
|
||||||
|
self:addElement(RowBG)
|
||||||
|
self.RowBG = RowBG
|
||||||
|
|
||||||
|
local Host = nil
|
||||||
|
|
||||||
|
Host = LUI.UIStyledText.new()
|
||||||
|
Host.id = "Host"
|
||||||
|
Host:SetRGBFromInt(14277081, 0)
|
||||||
|
Host:SetFontSize(24 * _1080p)
|
||||||
|
Host:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Host:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Host:SetStartupDelay(1000)
|
||||||
|
Host:SetLineHoldTime(400)
|
||||||
|
Host:SetAnimMoveTime(3000)
|
||||||
|
Host:SetEndDelay(1000)
|
||||||
|
Host:SetCrossfadeTime(400)
|
||||||
|
Host:SetAutoScrollStyle(LUI.UIStyledText.AutoScrollStyle.ScrollH)
|
||||||
|
Host:SetMaxVisibleLines(1)
|
||||||
|
Host:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 12, _1080p * 279, _1080p * -12, _1080p * 12)
|
||||||
|
Host:SubscribeToModelThroughElement(self, "host", function()
|
||||||
|
local dataSource = self:GetDataSource()
|
||||||
|
dataSource = dataSource.host:GetValue(controllerIndex)
|
||||||
|
if dataSource ~= nil then
|
||||||
|
Host:setText(dataSource, 0)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
self:addElement(Host)
|
||||||
|
self.Host = Host
|
||||||
|
|
||||||
|
local Players = nil
|
||||||
|
|
||||||
|
Players = LUI.UIText.new()
|
||||||
|
Players.id = "Players"
|
||||||
|
Players:SetRGBFromInt(14277081, 0)
|
||||||
|
Players:SetFontSize(24 * _1080p)
|
||||||
|
Players:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Players:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Players:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 286, _1080p * 421, _1080p * -12, _1080p * 12)
|
||||||
|
Players:SubscribeToModelThroughElement(self, "players", function()
|
||||||
|
local dataSource = self:GetDataSource()
|
||||||
|
dataSource = dataSource.players:GetValue(controllerIndex)
|
||||||
|
if dataSource ~= nil then
|
||||||
|
Players:setText(dataSource, 0)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
self:addElement(Players)
|
||||||
|
self.Players = Players
|
||||||
|
|
||||||
|
local Status = nil
|
||||||
|
|
||||||
|
Status = LUI.UIText.new()
|
||||||
|
Status.id = "Status"
|
||||||
|
Status:SetRGBFromInt(14277081, 0)
|
||||||
|
Status:SetFontSize(24 * _1080p)
|
||||||
|
Status:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Status:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Status:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 426, _1080p * 626, _1080p * -12, _1080p * 12)
|
||||||
|
Status:SubscribeToModelThroughElement(self, "status", function()
|
||||||
|
local dataSource = self:GetDataSource()
|
||||||
|
dataSource = dataSource.status:GetValue(controllerIndex)
|
||||||
|
if dataSource ~= nil then
|
||||||
|
Status:setText(ToUpperCase(dataSource), 0)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
self:addElement(Status)
|
||||||
|
self.Status = Status
|
||||||
|
|
||||||
|
local Map = nil
|
||||||
|
|
||||||
|
Map = LUI.UIStyledText.new()
|
||||||
|
Map.id = "Map"
|
||||||
|
Map:SetRGBFromInt(14277081, 0)
|
||||||
|
Map:SetFontSize(24 * _1080p)
|
||||||
|
Map:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Map:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Map:SetStartupDelay(1250)
|
||||||
|
Map:SetLineHoldTime(400)
|
||||||
|
Map:SetAnimMoveTime(300)
|
||||||
|
Map:SetEndDelay(1000)
|
||||||
|
Map:SetCrossfadeTime(500)
|
||||||
|
Map:SetAutoScrollStyle(LUI.UIStyledText.AutoScrollStyle.ScrollH)
|
||||||
|
Map:SetMaxVisibleLines(1)
|
||||||
|
Map:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 627, _1080p * 853, _1080p * -12, _1080p * 12)
|
||||||
|
Map:SubscribeToModelThroughElement(self, "map", function()
|
||||||
|
local dataSource = self:GetDataSource()
|
||||||
|
dataSource = dataSource.map:GetValue(controllerIndex)
|
||||||
|
if dataSource ~= nil then
|
||||||
|
Map:setText(dataSource, 0)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
self:addElement(Map)
|
||||||
|
self.Map = Map
|
||||||
|
|
||||||
|
local Type = nil
|
||||||
|
|
||||||
|
Type = LUI.UIText.new()
|
||||||
|
Type.id = "Type"
|
||||||
|
Type:SetRGBFromInt(14277081, 0)
|
||||||
|
Type:SetFontSize(24 * _1080p)
|
||||||
|
Type:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Type:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Type:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 862, _1080p * 1119, _1080p * -12, _1080p * 12)
|
||||||
|
Type:SubscribeToModelThroughElement(self, "type", function()
|
||||||
|
local dataSource = self:GetDataSource()
|
||||||
|
dataSource = dataSource.type:GetValue(controllerIndex)
|
||||||
|
if dataSource ~= nil then
|
||||||
|
Type:setText(dataSource, 0)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
self:addElement(Type)
|
||||||
|
self.Type = Type
|
||||||
|
|
||||||
|
local Cap = nil
|
||||||
|
|
||||||
|
Cap = LUI.UIImage.new()
|
||||||
|
Cap.id = "Cap"
|
||||||
|
Cap:SetRGBFromInt(14277081, 0)
|
||||||
|
Cap:SetAnchorsAndPosition(0, 1, 0, 0, 0, _1080p * 6, 0, 0)
|
||||||
|
self:addElement(Cap)
|
||||||
|
self.Cap = Cap
|
||||||
|
|
||||||
|
self._animationSets.DefaultAnimationSet = function()
|
||||||
|
self._sequences.DefaultSequence = function()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
RowBG:RegisterAnimationSequence("ButtonOver", {{function()
|
||||||
|
return self.RowBG:SetAlpha(1, 0)
|
||||||
|
end}, {function()
|
||||||
|
return self.RowBG:SetRGBFromInt(14277081, 0)
|
||||||
|
end}})
|
||||||
|
Host:RegisterAnimationSequence("ButtonOver", {{function()
|
||||||
|
return self.Host:SetRGBFromInt(0, 0)
|
||||||
|
end}})
|
||||||
|
Players:RegisterAnimationSequence("ButtonOver", {{function()
|
||||||
|
return self.Players:SetRGBFromInt(0, 0)
|
||||||
|
end}})
|
||||||
|
Status:RegisterAnimationSequence("ButtonOver", {{function()
|
||||||
|
return self.Status:SetRGBFromInt(0, 0)
|
||||||
|
end}})
|
||||||
|
Map:RegisterAnimationSequence("ButtonOver", {{function()
|
||||||
|
return self.Map:SetRGBFromInt(0, 0)
|
||||||
|
end}})
|
||||||
|
Type:RegisterAnimationSequence("ButtonOver", {{function()
|
||||||
|
return self.Type:SetRGBFromInt(0, 0)
|
||||||
|
end}})
|
||||||
|
Cap:RegisterAnimationSequence("ButtonOver", {{function()
|
||||||
|
return self.Cap:SetRGBFromInt(0, 0)
|
||||||
|
end}})
|
||||||
|
self._sequences.ButtonOver = function()
|
||||||
|
RowBG:AnimateSequence("ButtonOver")
|
||||||
|
Host:AnimateSequence("ButtonOver")
|
||||||
|
Players:AnimateSequence("ButtonOver")
|
||||||
|
Status:AnimateSequence("ButtonOver")
|
||||||
|
Map:AnimateSequence("ButtonOver")
|
||||||
|
Type:AnimateSequence("ButtonOver")
|
||||||
|
Cap:AnimateSequence("ButtonOver")
|
||||||
|
end
|
||||||
|
|
||||||
|
RowBG:RegisterAnimationSequence("ButtonUp", {{function()
|
||||||
|
return self.RowBG:SetAlpha(0.5, 0)
|
||||||
|
end}, {function()
|
||||||
|
return self.RowBG:SetRGBFromInt(0, 0)
|
||||||
|
end}})
|
||||||
|
Host:RegisterAnimationSequence("ButtonUp", {{function()
|
||||||
|
return self.Host:SetRGBFromInt(14277081, 0)
|
||||||
|
end}})
|
||||||
|
Players:RegisterAnimationSequence("ButtonUp", {{function()
|
||||||
|
return self.Players:SetRGBFromInt(14277081, 0)
|
||||||
|
end}})
|
||||||
|
Status:RegisterAnimationSequence("ButtonUp", {{function()
|
||||||
|
return self.Status:SetRGBFromInt(14277081, 0)
|
||||||
|
end}})
|
||||||
|
Map:RegisterAnimationSequence("ButtonUp", {{function()
|
||||||
|
return self.Map:SetRGBFromInt(14277081, 0)
|
||||||
|
end}})
|
||||||
|
Type:RegisterAnimationSequence("ButtonUp", {{function()
|
||||||
|
return self.Type:SetRGBFromInt(14277081, 0)
|
||||||
|
end}})
|
||||||
|
Cap:RegisterAnimationSequence("ButtonUp", {{function()
|
||||||
|
return self.Cap:SetRGBFromInt(14277081, 0)
|
||||||
|
end}})
|
||||||
|
self._sequences.ButtonUp = function()
|
||||||
|
RowBG:AnimateSequence("ButtonUp")
|
||||||
|
Host:AnimateSequence("ButtonUp")
|
||||||
|
Players:AnimateSequence("ButtonUp")
|
||||||
|
Status:AnimateSequence("ButtonUp")
|
||||||
|
Map:AnimateSequence("ButtonUp")
|
||||||
|
Type:AnimateSequence("ButtonUp")
|
||||||
|
Cap:AnimateSequence("ButtonUp")
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
self._animationSets.DefaultAnimationSet()
|
||||||
|
self:addEventHandler("button_over", function(arg0, arg1)
|
||||||
|
ACTIONS.AnimateSequence(self, "ButtonOver")
|
||||||
|
end)
|
||||||
|
self:addEventHandler("button_up", function(arg0, arg1)
|
||||||
|
ACTIONS.AnimateSequence(self, "ButtonUp")
|
||||||
|
end)
|
||||||
|
PostLoadFunc(self, controllerIndex, controller)
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
MenuBuilder.m_types["SystemLinkJoinMenuRow"] = SystemLinkJoinMenuRow
|
@ -0,0 +1,103 @@
|
|||||||
|
local function PostLoadFunc(element, controllerIndex, controller)
|
||||||
|
assert(element.Status)
|
||||||
|
assert(element.Type)
|
||||||
|
assert(element.Players)
|
||||||
|
assert(element.Map)
|
||||||
|
assert(element.Host)
|
||||||
|
if IsLanguageOversizedFont() then
|
||||||
|
element.Status:SetTop(-11 * _1080p, 0)
|
||||||
|
element.Status:SetBottom(11 * _1080p, 0)
|
||||||
|
element.Type:SetTop(-11 * _1080p, 0)
|
||||||
|
element.Type:SetBottom(11 * _1080p, 0)
|
||||||
|
element.Players:SetTop(-11 * _1080p, 0)
|
||||||
|
element.Players:SetBottom(11 * _1080p, 0)
|
||||||
|
element.Map:SetTop(-11 * _1080p, 0)
|
||||||
|
element.Map:SetBottom(11 * _1080p, 0)
|
||||||
|
element.Host:SetTop(-11 * _1080p, 0)
|
||||||
|
element.Host:SetBottom(11 * _1080p, 0)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function SystemLinkJoinMenuTitleRow(menu, controller)
|
||||||
|
local self = LUI.UIElement.new()
|
||||||
|
self:SetAnchorsAndPosition(0, 1, 0, 1, 0, 1131 * _1080p, 0, 40 * _1080p)
|
||||||
|
self.id = "SystemLinkJoinMenuTitleRow"
|
||||||
|
local controllerIndex = controller and controller.controllerIndex
|
||||||
|
if not controllerIndex and not Engine.InFrontend() then
|
||||||
|
controllerIndex = self:getRootController()
|
||||||
|
end
|
||||||
|
assert(controllerIndex)
|
||||||
|
|
||||||
|
local TitleBG = nil
|
||||||
|
|
||||||
|
TitleBG = LUI.UIImage.new()
|
||||||
|
TitleBG.id = "TitleBG"
|
||||||
|
TitleBG:SetRGBFromInt(0, 0)
|
||||||
|
self:addElement(TitleBG)
|
||||||
|
self.TitleBG = TitleBG
|
||||||
|
|
||||||
|
local Host = nil
|
||||||
|
|
||||||
|
Host = LUI.UIText.new()
|
||||||
|
Host.id = "Host"
|
||||||
|
Host:setText(Engine.Localize("MENU_HOST_NAME"), 0)
|
||||||
|
Host:SetFontSize(24 * _1080p)
|
||||||
|
Host:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Host:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Host:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 9, _1080p * 275, _1080p * -12, _1080p * 12)
|
||||||
|
self:addElement(Host)
|
||||||
|
self.Host = Host
|
||||||
|
|
||||||
|
local Map = nil
|
||||||
|
|
||||||
|
Map = LUI.UIText.new()
|
||||||
|
Map.id = "Map"
|
||||||
|
Map:setText(Engine.Localize("MENU_MAP"), 0)
|
||||||
|
Map:SetFontSize(24 * _1080p)
|
||||||
|
Map:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Map:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Map:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 627, _1080p * 853, _1080p * -12, _1080p * 12)
|
||||||
|
self:addElement(Map)
|
||||||
|
self.Map = Map
|
||||||
|
|
||||||
|
local Players = nil
|
||||||
|
|
||||||
|
Players = LUI.UIText.new()
|
||||||
|
Players.id = "Players"
|
||||||
|
Players:setText(Engine.Localize("MENU_NUMPLAYERS"), 0)
|
||||||
|
Players:SetFontSize(24 * _1080p)
|
||||||
|
Players:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Players:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Players:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 283, _1080p * 418, _1080p * -12, _1080p * 12)
|
||||||
|
self:addElement(Players)
|
||||||
|
self.Players = Players
|
||||||
|
|
||||||
|
local Type = nil
|
||||||
|
|
||||||
|
Type = LUI.UIText.new()
|
||||||
|
Type.id = "Type"
|
||||||
|
Type:setText(Engine.Localize("MENU_TYPE1"), 0)
|
||||||
|
Type:SetFontSize(24 * _1080p)
|
||||||
|
Type:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Type:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Type:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 862, _1080p * 1119, _1080p * -12, _1080p * 12)
|
||||||
|
self:addElement(Type)
|
||||||
|
self.Type = Type
|
||||||
|
|
||||||
|
local Status = nil
|
||||||
|
|
||||||
|
Status = LUI.UIText.new()
|
||||||
|
Status.id = "Status"
|
||||||
|
Status:setText(Engine.Localize("MENU_STATUS_NAME"), 0)
|
||||||
|
Status:SetFontSize(24 * _1080p)
|
||||||
|
Status:SetFont(FONTS.GetFont(FONTS.MainMedium.File))
|
||||||
|
Status:SetAlignment(LUI.Alignment.Left)
|
||||||
|
Status:SetAnchorsAndPosition(0, 1, 0.5, 0.5, _1080p * 426, _1080p * 620, _1080p * -12, _1080p * 12)
|
||||||
|
self:addElement(Status)
|
||||||
|
self.Status = Status
|
||||||
|
|
||||||
|
PostLoadFunc(self, controllerIndex, controller)
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
MenuBuilder.m_types["SystemLinkJoinMenuTitleRow"] = SystemLinkJoinMenuTitleRow
|
@ -4,3 +4,5 @@ end
|
|||||||
|
|
||||||
require("ServerButtons")
|
require("ServerButtons")
|
||||||
require("SysLinkBrowser")
|
require("SysLinkBrowser")
|
||||||
|
require("SystemLinkJoinMenuRow")
|
||||||
|
require("SystemLinkJoinMenuTitleRow")
|
||||||
|
Loading…
Reference in New Issue
Block a user