2022-04-28 00:21:10 +02:00
|
|
|
require "common.class"
|
2022-07-16 02:45:20 +02:00
|
|
|
|
|
|
|
local Dim = require "common.dimensions"
|
|
|
|
|
2022-04-28 00:21:10 +02:00
|
|
|
local Lang = require "language.call"
|
2022-07-16 02:45:20 +02:00
|
|
|
|
2022-04-28 00:21:10 +02:00
|
|
|
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 = {
|
2022-05-06 01:02:30 +02:00
|
|
|
__name = "ModeSelectPage",
|
2022-07-16 02:45:20 +02:00
|
|
|
IMAGES = {
|
2022-04-28 00:21:10 +02:00
|
|
|
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)
|
|
|
|
},
|
2022-07-16 02:45:20 +02:00
|
|
|
ANIMS = {
|
|
|
|
|
2022-04-28 00:21:10 +02:00
|
|
|
},
|
2022-07-16 02:45:20 +02:00
|
|
|
AUDIO = {
|
|
|
|
cursorChange = AudioSample.new { path = "titlescreen/cursor_change.wav" },
|
|
|
|
cursorSelect = AudioSample.new { path = "titlescreen/cursor_select.wav" }
|
2022-04-28 00:21:10 +02:00
|
|
|
},
|
2022-07-16 02:45:20 +02:00
|
|
|
LABELS = {
|
2022-04-28 00:21:10 +02:00
|
|
|
selectorDescriptionLabel = gfx.CreateLabel(Lang.Start.desc, 22, 0),
|
|
|
|
selectorLegendScrollLabel = gfx.CreateLabel(Lang.Start.sc, 20, 0),
|
|
|
|
selectorLegendSelectLabel = gfx.CreateLabel(Lang.Start.st3, 20, 0)
|
2022-07-16 02:45:20 +02:00
|
|
|
},
|
|
|
|
SELECTOR_BAR_OFFSET_FROM_CENTER = 128
|
2022-04-28 00:21:10 +02:00
|
|
|
}
|
|
|
|
|
2022-05-06 01:02:30 +02:00
|
|
|
function ModeSelectPage.new(params)
|
|
|
|
local self = CreateInstance(ModeSelectPage, params, Page)
|
2022-04-28 00:21:10 +02:00
|
|
|
|
2022-07-16 02:45:20 +02:00
|
|
|
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
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2022-05-04 03:34:37 +02:00
|
|
|
return self
|
|
|
|
end
|
2022-04-28 00:21:10 +02:00
|
|
|
|
2022-05-04 03:34:37 +02:00
|
|
|
function ModeSelectPage:init()
|
2022-04-28 00:21:10 +02:00
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
function ModeSelectPage:drawForeground(deltaTime)
|
|
|
|
Header.draw()
|
|
|
|
end
|
|
|
|
|
|
|
|
return ModeSelectPage
|