ExperimentalGear/scripts/titlescreen/modeselect/modeselectpage.lua

146 lines
4.7 KiB
Lua

require "common.class"
local Dim = require "common.dimensions"
local Lang = require "language.call"
local AudioSample = require "api.audiosample"
local Page = require "api.page.page"
local Header = require "components.headers.modeSelectHeader"
local crew = game.GetSkinSetting("single_idol")
---@class ModeSelectPage: Page
local ModeSelectPage = {
__name = "ModeSelectPage",
IMAGES = {
selectorBgImage = gfx.CreateSkinImage("titlescreen/selector_bg.png", 0),
selectorArrowsImage = gfx.CreateSkinImage("titlescreen/selector_arrows.png", 0),
unselectedButtonImage = gfx.CreateSkinImage("titlescreen/unselected_button.png", 0),
selectedButtonBgImage = gfx.CreateSkinImage("titlescreen/selected_button_bg.png", 0),
selectedButtonOverImage = gfx.CreateSkinImage("titlescreen/selected_button_over.png", 0)
},
ANIMS = {
},
AUDIO = {
cursorChange = AudioSample.new { path = "titlescreen/cursor_change.wav" },
cursorSelect = AudioSample.new { path = "titlescreen/cursor_select.wav" }
},
LABELS = {
selectorDescriptionLabel = gfx.CreateLabel(Lang.Start.desc, 22, 0),
selectorLegendScrollLabel = gfx.CreateLabel(Lang.Start.sc, 20, 0),
selectorLegendSelectLabel = gfx.CreateLabel(Lang.Start.st3, 20, 0)
},
SELECTOR_BAR_OFFSET_FROM_CENTER = 128
}
function ModeSelectPage.new(params)
local self = CreateInstance(ModeSelectPage, params, Page)
local buttons = {
{
labelImage = gfx.CreateSkinImage("titlescreen/labels/skill.png", 0),
labelWidth = 412,
action = nil, -- Menu.Challenges,
description = Lang.Challanges.ch,
details = Lang.Challanges.ch1,
},
{
labelImage = gfx.CreateSkinImage("titlescreen/labels/friend.png", 0),
labelWidth = 169,
action = nil, -- Menu.Multiplayer,
description = Lang.Multiplayer.mp,
details = Lang.Multiplayer.mp2,
},
{
labelImage = gfx.CreateSkinImage("titlescreen/labels/normal.png", 0),
labelWidth = 210,
action = nil, -- Menu.Start,
description = Lang.Start.st,
details = Lang.Start.st2,
},
{
labelImage = gfx.CreateSkinImage("titlescreen/labels/nautica.png", 0),
labelWidth = 230,
action = nil, -- Menu.DLScreen,
description = Lang.Nautica.dls,
details = Lang.Nautica.dls2,
},
{
labelImage = gfx.CreateSkinImage("titlescreen/labels/settings.png", 0),
labelWidth = 247,
action = nil, -- Menu.Settings,
description = Lang.Settings.se,
details = Lang.Settings.se1,
},
{
labelImage = gfx.CreateSkinImage("titlescreen/labels/exit.png", 0),
labelWidth = 110,
action = nil, -- Menu.Exit,
description = Lang.Exit.ex,
details = Lang.Exit.ex2,
},
}
local buttonHeight = 100
local miscButtons = {
upArrow = {
x = Dim.design.width - 265,
y = Dim.design.height / 2 + self.SELECTOR_BAR_OFFSET_FROM_CENTER - buttonHeight + 4,
w = 64,
h = 36
},
downArrow = {
x = Dim.design.width - 265,
y = Dim.design.height / 2 + self.SELECTOR_BAR_OFFSET_FROM_CENTER + buttonHeight / 2 + 28,
w = 64,
h = 36
},
mainButton = {
x = Dim.design.width - 512,
y = Dim.design.height / 2 + self.SELECTOR_BAR_OFFSET_FROM_CENTER - buttonHeight / 2 - 28,
w = 505,
h = 196
},
upButton1 = {
x = Dim.design.width - 512,
y = Dim.design.height / 2 + self.SELECTOR_BAR_OFFSET_FROM_CENTER - 128 - buttonHeight,
w = 1026 / 2,
h = 257 / 2
},
upButton2 = {
x = Dim.design.width - 512,
y = Dim.design.height / 2 + self.SELECTOR_BAR_OFFSET_FROM_CENTER - 128 - buttonHeight * 2,
w = 1026 / 2,
h = 257 / 2
},
downButton1 = {
x = Dim.design.width - 512,
y = Dim.design.height / 2 + self.SELECTOR_BAR_OFFSET_FROM_CENTER + 128 + 10,
w = 1026 / 2,
h = 257 / 2
},
downButton2 = {
x = Dim.design.width - 512,
y = Dim.design.height / 2 + self.SELECTOR_BAR_OFFSET_FROM_CENTER + 128 + buttonHeight + 10,
w = 1026 / 2,
h = 257 / 2
},
}
return self
end
function ModeSelectPage:init()
end
function ModeSelectPage:drawForeground(deltaTime)
Header.draw()
end
return ModeSelectPage