771 lines
32 KiB
Lua
771 lines
32 KiB
Lua
local ____lualib = require("lualib_bundle")
|
|
local __TS__StringAccess = ____lualib.__TS__StringAccess
|
|
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
local __TS__New = ____lualib.__TS__New
|
|
local __TS__StringIncludes = ____lualib.__TS__StringIncludes
|
|
local __TS__ArraySlice = ____lualib.__TS__ArraySlice
|
|
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
local __TS__ArrayEntries = ____lualib.__TS__ArrayEntries
|
|
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
local __TS__AsyncAwaiter = ____lualib.__TS__AsyncAwaiter
|
|
local __TS__Await = ____lualib.__TS__Await
|
|
local ____exports = {}
|
|
local ____storyteller = require("code.engine.storyteller")
|
|
local ST = ____storyteller.ST
|
|
local STAnimation = ____storyteller.STAnimation
|
|
local STHitbox = ____storyteller.STHitbox
|
|
local STScreen = ____storyteller.STScreen
|
|
local STSplitterResult = ____storyteller.STSplitterResult
|
|
local STText = ____storyteller.STText
|
|
local ____global = require("code.global")
|
|
local accessor = ____global.accessor
|
|
local cursors = ____global.cursors
|
|
local input_defaults = ____global.input_defaults
|
|
local ____assets = require("code.systems.assets")
|
|
local assetsSystem = ____assets.default
|
|
local ____mixer = require("code.systems.mixer")
|
|
local mixerSystem = ____mixer.default
|
|
local function textGen()
|
|
return {
|
|
main1 = "游玩",
|
|
main2 = "配置",
|
|
main3 = "退出游戏",
|
|
c_back = "返回",
|
|
c_header1 = "音乐音量",
|
|
c_header2 = "音效音量",
|
|
c_header3 = "按键配置",
|
|
c_option1 = "减小",
|
|
c_option2 = "增加",
|
|
k_header1 = "选择一个输入源",
|
|
k_header2 = "请按下按键",
|
|
k_header3 = "按ESC键重置",
|
|
k_key1 = "[Z]",
|
|
k_key2 = "[X]",
|
|
k_key3 = "[C]",
|
|
k_key4 = "[V]",
|
|
k_key5 = "[↑]",
|
|
k_key6 = "[↓]",
|
|
k_key7 = "[←]",
|
|
k_key8 = "[→]",
|
|
k_names = {
|
|
_ = "_",
|
|
["-"] = "-",
|
|
[","] = ",",
|
|
[";"] = ";",
|
|
[":"] = ":",
|
|
["!"] = "!",
|
|
["?"] = "?",
|
|
["."] = ".",
|
|
["'"] = "'",
|
|
["\""] = "\"",
|
|
["("] = "(",
|
|
[")"] = ")",
|
|
["["] = "[",
|
|
["]"] = "]",
|
|
["@"] = "@",
|
|
["*"] = "*",
|
|
["/"] = "/",
|
|
["\\"] = "\\",
|
|
["&"] = "&",
|
|
["#"] = "#",
|
|
["`"] = "`",
|
|
["^"] = "^",
|
|
["+"] = "+",
|
|
["<"] = "<",
|
|
["="] = "=",
|
|
[">"] = ">",
|
|
["$"] = "$",
|
|
["0"] = "0",
|
|
["1"] = "1",
|
|
["2"] = "2",
|
|
["3"] = "3",
|
|
["4"] = "4",
|
|
["5"] = "5",
|
|
["6"] = "6",
|
|
["7"] = "7",
|
|
["8"] = "8",
|
|
["9"] = "9",
|
|
a = "A",
|
|
appback = "AppBack",
|
|
appbookmarks = "AppBookmarks",
|
|
appforward = "AppForward",
|
|
apphome = "AppHome",
|
|
application = "Application",
|
|
apprefresh = "AppRefresh",
|
|
appsearch = "AppSearch",
|
|
b = "B",
|
|
backspace = "Backspace",
|
|
c = "C",
|
|
calculator = "Calculator",
|
|
capslock = "大写锁定",
|
|
clear = "Clear",
|
|
computer = "Computer",
|
|
currencyunit = "Currency",
|
|
d = "D",
|
|
delete = "Delete",
|
|
down = "下",
|
|
e = "E",
|
|
["end"] = "End",
|
|
escape = "ESC",
|
|
f = "F",
|
|
f1 = "F1",
|
|
f2 = "F2",
|
|
f3 = "F3",
|
|
f4 = "F4",
|
|
f5 = "F5",
|
|
f6 = "F6",
|
|
f7 = "F7",
|
|
f8 = "F8",
|
|
f9 = "F9",
|
|
f10 = "F10",
|
|
f11 = "F11",
|
|
f12 = "F12",
|
|
f13 = "F13",
|
|
f14 = "F14",
|
|
f15 = "F15",
|
|
f16 = "F16",
|
|
f17 = "F17",
|
|
f18 = "F18",
|
|
g = "G",
|
|
h = "H",
|
|
help = "Help",
|
|
home = "Home",
|
|
i = "I",
|
|
insert = "Insert",
|
|
j = "J",
|
|
k = "K",
|
|
["kp-"] = "小键盘-",
|
|
["kp,"] = "小键盘,",
|
|
["kp."] = "小键盘.",
|
|
["kp*"] = "小键盘*",
|
|
["kp/"] = "小键盘/",
|
|
["kp+"] = "小键盘+",
|
|
["kp="] = "小键盘=",
|
|
kp0 = "小键盘0",
|
|
kp1 = "小键盘1",
|
|
kp2 = "小键盘2",
|
|
kp3 = "小键盘3",
|
|
kp4 = "小键盘4",
|
|
kp5 = "小键盘5",
|
|
kp6 = "小键盘6",
|
|
kp7 = "小键盘7",
|
|
kp8 = "小键盘8",
|
|
kp9 = "小键盘9",
|
|
kpenter = "小键盘Enter",
|
|
l = "L",
|
|
lalt = "左Alt",
|
|
lctrl = "左Ctrl",
|
|
left = "左",
|
|
lgui = "左Win",
|
|
lshift = "左Shift",
|
|
m = "M",
|
|
mail = "Mail",
|
|
menu = "Menu",
|
|
mode = "Mode",
|
|
n = "N",
|
|
numlock = "小键盘NumLock",
|
|
o = "O",
|
|
p = "P",
|
|
pagedown = "PageDown",
|
|
pageup = "PageUp",
|
|
pause = "Pause",
|
|
power = "Power",
|
|
printscreen = "PrintScreen",
|
|
q = "Q",
|
|
r = "R",
|
|
ralt = "右Alt",
|
|
rctrl = "右Ctrl",
|
|
["return"] = "Enter",
|
|
rgui = "右Win",
|
|
right = "右",
|
|
rshift = "右Shift",
|
|
s = "S",
|
|
scrolllock = "ScrollLock",
|
|
space = "空格",
|
|
sysreq = "SysReq",
|
|
t = "T",
|
|
tab = "Tab",
|
|
u = "U",
|
|
undo = "Undo",
|
|
up = "Up",
|
|
v = "V",
|
|
w = "W",
|
|
www = "WWW",
|
|
x = "X",
|
|
y = "Y",
|
|
z = "Z"
|
|
}
|
|
}
|
|
end
|
|
function ____exports.keybindsButtons(assets, endpoint, text)
|
|
if text == nil then
|
|
text = textGen()
|
|
end
|
|
local keys = {
|
|
"primary",
|
|
"secondary",
|
|
"tertiary",
|
|
"fullscreen",
|
|
"up",
|
|
"down",
|
|
"left",
|
|
"right"
|
|
}
|
|
local state = { i = nil }
|
|
return ST:populate(
|
|
11,
|
|
function(i)
|
|
if i == 10 then
|
|
return __TS__New(
|
|
STHitbox,
|
|
{
|
|
metadata = {
|
|
disabled = true,
|
|
action = function()
|
|
end
|
|
},
|
|
children = { __TS__New(STText, {
|
|
anchor = 0.5,
|
|
font = assets["f$helloplayer"],
|
|
position = { y = 6 },
|
|
spacing = { y = -1 },
|
|
justify = 0.5
|
|
}):addTicker(function(self)
|
|
if state.i == nil then
|
|
self.content = ""
|
|
return
|
|
end
|
|
local ik = keys[state.i]
|
|
local value = accessor["$option_input_" .. ik]
|
|
local def = __TS__StringAccess(value, 0) ~= " "
|
|
self.content = assets["f$helloplayer"]:wrap(
|
|
table.concat(
|
|
__TS__ArrayMap(
|
|
__TS__StringSplit(
|
|
def and value or string.sub(value, 2),
|
|
" "
|
|
),
|
|
function(____, name, index)
|
|
return ((def or index % 2 == 0) and "{color=}" or "{color=0x3f3f7f}") ..
|
|
text.k_names[name]
|
|
end
|
|
),
|
|
" "
|
|
),
|
|
function() return 170 end,
|
|
function(char) return char == " " and STSplitterResult.EXCLUDE or STSplitterResult.NONE end
|
|
)
|
|
if def then
|
|
self.color.red = 63
|
|
self.color.green = 63
|
|
self.color.blue = 63
|
|
else
|
|
self.color.red = 162
|
|
self.color.green = 137
|
|
self.color.blue = 220
|
|
end
|
|
end) }
|
|
}
|
|
):addDrawer(function()
|
|
love.graphics.setColor(1, 1, 1, 1)
|
|
end)
|
|
end
|
|
local content = ({
|
|
"",
|
|
text.k_key1,
|
|
text.k_key2,
|
|
text.k_key3,
|
|
text.k_key4,
|
|
text.k_key5,
|
|
text.k_key6,
|
|
text.k_key7,
|
|
text.k_key8,
|
|
text.c_back
|
|
})[i + 1]
|
|
local metadata
|
|
metadata = {
|
|
disabled = i == 0,
|
|
action = function(____, controller)
|
|
repeat
|
|
local ____switch16 = i
|
|
local ____cond16 = ____switch16 == 1 or ____switch16 == 2 or ____switch16 == 3 or
|
|
____switch16 == 4 or ____switch16 == 5 or ____switch16 == 6 or ____switch16 == 7 or
|
|
____switch16 == 8
|
|
if ____cond16 then
|
|
if state.i == nil then
|
|
love.keypressed = function(key)
|
|
local ik = keys[state.i]
|
|
if key == "escape" then
|
|
accessor["$option_input_" .. ik] = input_defaults[ik]
|
|
elseif text.k_names[key] ~= nil then
|
|
if __TS__StringAccess(accessor["$option_input_" .. ik], 0) ~= " " then
|
|
accessor["$option_input_" .. ik] = " " .. key
|
|
elseif not __TS__StringIncludes(accessor["$option_input_" .. ik], " " .. key) then
|
|
local ____accessor_1 = accessor
|
|
local ____temp_2 = "$option_input_" .. ik
|
|
local ____array_0 = __TS__SparseArrayNew(unpack(__TS__ArraySlice(
|
|
__TS__StringSplit(
|
|
string.sub(accessor["$option_input_" .. ik], 2),
|
|
" "
|
|
),
|
|
0,
|
|
7
|
|
)))
|
|
__TS__SparseArrayPush(____array_0, key)
|
|
____accessor_1[____temp_2] = " " .. table.concat(
|
|
{ __TS__SparseArraySpread(____array_0) },
|
|
" "
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
state.i = i
|
|
metadata.disabled = true
|
|
break
|
|
end
|
|
____cond16 = ____cond16 or ____switch16 == 9
|
|
if ____cond16 then
|
|
state.i = nil
|
|
love.keypressed = nil
|
|
controller["goto"](controller, endpoint)
|
|
if endpoint == nil then
|
|
metadata.disabled = true
|
|
end
|
|
break
|
|
end
|
|
until true
|
|
end
|
|
}
|
|
local position = i == 0 and 0.25 or 0.5
|
|
return __TS__New(
|
|
STHitbox,
|
|
{
|
|
anchor = 0.5,
|
|
metadata = metadata,
|
|
position = {
|
|
x = ((i == 0 or i == 9) and 0 or ST:spread(70, i - 1, 8)) - position,
|
|
y = (i == 0 and -37.5 or (i == 9 and 37.5 or -25.5)) - position
|
|
},
|
|
size = i == 0 and 0 or assets["f$fives"]:compute(content),
|
|
children = { __TS__New(STText,
|
|
{
|
|
anchor = 0.5,
|
|
font = i == 0 and assets["f$helloplayer"] or assets["f$fives"],
|
|
position =
|
|
position,
|
|
content = content
|
|
}):addTicker(function(self)
|
|
if i == 0 then
|
|
if state.i == nil then
|
|
self.content = text.k_header1
|
|
else
|
|
local ik = keys[state.i]
|
|
if __TS__StringAccess(accessor["$option_input_" .. ik], 0) == " " then
|
|
self.content = text.k_header3
|
|
else
|
|
self.content = text.k_header2
|
|
end
|
|
end
|
|
elseif i ~= 9 then
|
|
if state.i == i then
|
|
metadata.disabled = true
|
|
self.color.red = 80
|
|
self.color.green = 68
|
|
self.color.blue = 110
|
|
else
|
|
metadata.disabled = false
|
|
self.color.red = 255
|
|
self.color.green = 255
|
|
self.color.blue = 255
|
|
end
|
|
end
|
|
end) }
|
|
}
|
|
)
|
|
end
|
|
)
|
|
end
|
|
|
|
function ____exports.mouseButtonMenu(container, buttons, start, callback)
|
|
return __TS__AsyncAwaiter(function(____awaiter_resolve)
|
|
local active = nil
|
|
local width = ST.width
|
|
local height = ST.height
|
|
local task = ST:task()
|
|
local cursor = __TS__New(STHitbox)
|
|
local controller
|
|
controller = {
|
|
key = start,
|
|
["goto"] = function(self, target)
|
|
if target == nil then
|
|
task.complete()
|
|
return
|
|
end
|
|
active = nil
|
|
container:detach(__TS__Spread(buttons[controller.key]))
|
|
controller.key = target
|
|
container:attach(__TS__Spread(buttons[target]))
|
|
end
|
|
}
|
|
local function buttonTest()
|
|
for ____, ____value in __TS__Iterator(__TS__ArrayEntries(buttons[controller.key])) do
|
|
local index = ____value[1]
|
|
local button = ____value[2]
|
|
if not button.metadata.disabled and button:test(cursor) then
|
|
return { index, button }
|
|
end
|
|
end
|
|
return nil
|
|
end
|
|
local function cursorIcon()
|
|
local result = buttonTest()
|
|
if result == nil then
|
|
love.mouse.setCursor(cursors.arrow_active)
|
|
else
|
|
love.mouse.setCursor(cursors.hand)
|
|
end
|
|
end
|
|
local function cursorPosition(x, y)
|
|
if x == nil then
|
|
x = love.mouse.getX()
|
|
end
|
|
if y == nil then
|
|
y = love.mouse.getY()
|
|
end
|
|
local win_width, win_height = love.window.getMode()
|
|
local scale = width / height < win_width / win_height and win_height / height or win_width / width
|
|
cursor.position:set((x - win_width / 2) / scale, (y - win_height / 2) / scale)
|
|
cursor:calculate()
|
|
end
|
|
cursorPosition()
|
|
for key in pairs(buttons) do
|
|
for ____, ____value in __TS__Iterator(__TS__ArrayEntries(buttons[key])) do
|
|
local index = ____value[1]
|
|
local button = ____value[2]
|
|
button:calculate()
|
|
button:addTicker(function(self)
|
|
if button.metadata.disabled then
|
|
button.color.red = 127
|
|
button.color.green = 127
|
|
button.color.blue = 127
|
|
elseif index == active then
|
|
button.color.red = 80
|
|
button.color.green = 68
|
|
button.color.blue = 110
|
|
elseif self:test(cursor) then
|
|
button.color.red = 162
|
|
button.color.green = 137
|
|
button.color.blue = 220
|
|
else
|
|
button.color.red = 255
|
|
button.color.green = 255
|
|
button.color.blue = 255
|
|
end
|
|
end)
|
|
end
|
|
end
|
|
love.focus = function(focus)
|
|
if focus or active == nil then
|
|
return
|
|
end
|
|
active = nil
|
|
love.mouse.setCursor(cursors.arrow_active)
|
|
cursorPosition(math.huge, math.huge)
|
|
end
|
|
love.mousemoved = function(x, y)
|
|
cursorPosition(x, y)
|
|
cursorIcon()
|
|
end
|
|
love.mousepressed = function(x, y, button)
|
|
if button ~= 1 then
|
|
return
|
|
end
|
|
cursorPosition(x, y)
|
|
local result = buttonTest()
|
|
if result == nil then
|
|
return
|
|
end
|
|
active = result[1]
|
|
end
|
|
love.mousereleased = function(x, y, button)
|
|
if button ~= 1 or active == nil then
|
|
return
|
|
end
|
|
cursorPosition(x, y)
|
|
local result = buttonTest()
|
|
if result ~= nil and result[1] == active then
|
|
result[2].metadata:action(controller)
|
|
end
|
|
active = nil
|
|
if task.active then
|
|
cursorIcon()
|
|
end
|
|
end
|
|
container:attach(__TS__Spread(buttons[controller.key]))
|
|
love.mouse.setCursor(cursors.arrow_active)
|
|
if callback ~= nil then
|
|
callback(function() return task.complete() end)
|
|
end
|
|
__TS__Await(task)
|
|
love.mouse.setCursor(cursors.arrow)
|
|
container:detach(__TS__Spread(buttons[controller.key]))
|
|
love.focus = nil
|
|
love.mousemoved = nil
|
|
love.mousepressed = nil
|
|
love.mousereleased = nil
|
|
end)
|
|
end
|
|
|
|
function ____exports.default()
|
|
return __TS__AsyncAwaiter(function(____awaiter_resolve)
|
|
local text = textGen()
|
|
local mixer = mixerSystem(true)
|
|
local assets = assetsSystem({}, mixer)
|
|
local buttons = {
|
|
main = ST:populate(
|
|
4,
|
|
function(i)
|
|
if i == 3 then
|
|
return __TS__New(
|
|
STHitbox,
|
|
{
|
|
metadata = {
|
|
disabled = true,
|
|
action = function()
|
|
end
|
|
},
|
|
children = { __TS__New(STAnimation, { frames = assets["im$logo"], anchor = 0.5, scale = 2, direction = 1 }) }
|
|
}
|
|
):addDrawer(function()
|
|
love.graphics.setColor(1, 1, 1, 1)
|
|
end)
|
|
end
|
|
local content = ({ text.main1, text.main2, text.main3 })[i + 1]
|
|
local metadata
|
|
metadata = {
|
|
disabled = false,
|
|
action = function(____, controller)
|
|
repeat
|
|
local ____switch70 = i
|
|
local ____cond70 = ____switch70 == 0
|
|
if ____cond70 then
|
|
controller["goto"](controller, nil)
|
|
metadata.disabled = true
|
|
break
|
|
end
|
|
____cond70 = ____cond70 or ____switch70 == 1
|
|
if ____cond70 then
|
|
controller["goto"](controller, "calibration")
|
|
break
|
|
end
|
|
____cond70 = ____cond70 or ____switch70 == 2
|
|
if ____cond70 then
|
|
love.event.quit()
|
|
break
|
|
end
|
|
until true
|
|
end
|
|
}
|
|
local position = 0.5
|
|
return __TS__New(
|
|
STHitbox,
|
|
{
|
|
anchor = 0.5,
|
|
metadata = metadata,
|
|
position = {
|
|
x = ST:spread(60, i, 3) - position,
|
|
y = 37.5 - position
|
|
},
|
|
size = assets["f$fives"]:compute(content),
|
|
children = { __TS__New(STText, { anchor = 0.5, font = assets["f$fives"], position = position, content = content }) }
|
|
}
|
|
)
|
|
end
|
|
),
|
|
calibration = ST:populate(
|
|
10,
|
|
function(i)
|
|
if i > 7 then
|
|
return __TS__New(
|
|
STHitbox,
|
|
{
|
|
position = { y = i == 8 and -27 or 3 },
|
|
metadata = {
|
|
disabled = true,
|
|
action = function()
|
|
end
|
|
},
|
|
children = { __TS__New(STAnimation,
|
|
{ scale = { x = 1.5 }, frames = assets["im$volume"], anchor = 0.5 }):addTicker(i == 8 and
|
|
(function(self)
|
|
self.frame = accessor["$option_music"]
|
|
end) or (function(self)
|
|
self.frame = accessor["$option_sound"]
|
|
end)) }
|
|
}
|
|
):addDrawer(function()
|
|
love.graphics.setColor(1, 1, 1, 1)
|
|
end)
|
|
end
|
|
local content = ({
|
|
text.c_header1,
|
|
text.c_option1,
|
|
text.c_option2,
|
|
text.c_header2,
|
|
text.c_option1,
|
|
text.c_option2,
|
|
text.c_header3,
|
|
text.c_back
|
|
})[i + 1]
|
|
local metadata
|
|
metadata = {
|
|
disabled = i < 6 and i % 3 == 0,
|
|
action = function(____, controller)
|
|
repeat
|
|
local ____switch78 = i
|
|
local ____cond78 = ____switch78 == 1
|
|
if ____cond78 then
|
|
local ____accessor_5, _____24option_music_6 = accessor, "$option_music"
|
|
local ____accessor__24option_music_7 = ____accessor_5[_____24option_music_6] - 1
|
|
____accessor_5[_____24option_music_6] = ____accessor__24option_music_7
|
|
metadata.disabled = ____accessor__24option_music_7 == 0
|
|
mixer.updateMusic(true)
|
|
if mixer.music.value ~= 0 then
|
|
assets["s$menu_select$music"]:instance()
|
|
end
|
|
break
|
|
end
|
|
____cond78 = ____cond78 or ____switch78 == 2
|
|
if ____cond78 then
|
|
local ____accessor_8, _____24option_music_9 = accessor, "$option_music"
|
|
local ____accessor__24option_music_10 = ____accessor_8[_____24option_music_9] + 1
|
|
____accessor_8[_____24option_music_9] = ____accessor__24option_music_10
|
|
metadata.disabled = ____accessor__24option_music_10 == 16
|
|
mixer.updateMusic(true)
|
|
assets["s$menu_select$music"]:instance()
|
|
break
|
|
end
|
|
____cond78 = ____cond78 or ____switch78 == 4
|
|
if ____cond78 then
|
|
local ____accessor_11, _____24option_sound_12 = accessor, "$option_sound"
|
|
local ____accessor__24option_sound_13 = ____accessor_11[_____24option_sound_12] - 1
|
|
____accessor_11[_____24option_sound_12] = ____accessor__24option_sound_13
|
|
metadata.disabled = ____accessor__24option_sound_13 == 0
|
|
mixer.updateSound(true)
|
|
if mixer.sound.value ~= 0 then
|
|
assets["s$menu_select"]:instance()
|
|
end
|
|
break
|
|
end
|
|
____cond78 = ____cond78 or ____switch78 == 5
|
|
if ____cond78 then
|
|
local ____accessor_14, _____24option_sound_15 = accessor, "$option_sound"
|
|
local ____accessor__24option_sound_16 = ____accessor_14[_____24option_sound_15] + 1
|
|
____accessor_14[_____24option_sound_15] = ____accessor__24option_sound_16
|
|
metadata.disabled = ____accessor__24option_sound_16 == 16
|
|
mixer.updateSound(true)
|
|
assets["s$menu_select"]:instance()
|
|
break
|
|
end
|
|
____cond78 = ____cond78 or ____switch78 == 6
|
|
if ____cond78 then
|
|
controller["goto"](controller, "keybinds")
|
|
break
|
|
end
|
|
____cond78 = ____cond78 or ____switch78 == 7
|
|
if ____cond78 then
|
|
controller["goto"](controller, "main")
|
|
break
|
|
end
|
|
until true
|
|
end
|
|
}
|
|
local position = i < 6 and i % 3 == 0 and 0.25 or 0.5
|
|
return __TS__New(
|
|
STHitbox,
|
|
{
|
|
anchor = 0.5,
|
|
metadata = metadata,
|
|
position = {
|
|
x = (i < 6 and i % 3 ~= 0 and ST:spread(45, i % 3 - 1, 2) or 0) - position,
|
|
y = ({
|
|
-37.5,
|
|
-25.5,
|
|
-25.5,
|
|
-7.5,
|
|
4.5,
|
|
4.5,
|
|
22.5,
|
|
37.5
|
|
})[i + 1] - position
|
|
},
|
|
size = i < 6 and i % 3 == 0 and 0 or assets["f$fives"]:compute(content),
|
|
children = { __TS__New(STText, { anchor = 0.5, font = i < 6 and i % 3 == 0 and assets["f$helloplayer"] or assets["f$fives"], position = position, content = content }) }
|
|
}
|
|
):addTicker(function(self)
|
|
repeat
|
|
local ____switch82 = i
|
|
local ____cond82 = ____switch82 == 1
|
|
if ____cond82 then
|
|
self.metadata.disabled = accessor["$option_music"] == 0
|
|
break
|
|
end
|
|
____cond82 = ____cond82 or ____switch82 == 2
|
|
if ____cond82 then
|
|
self.metadata.disabled = accessor["$option_music"] == 16
|
|
break
|
|
end
|
|
____cond82 = ____cond82 or ____switch82 == 4
|
|
if ____cond82 then
|
|
self.metadata.disabled = accessor["$option_sound"] == 0
|
|
break
|
|
end
|
|
____cond82 = ____cond82 or ____switch82 == 5
|
|
if ____cond82 then
|
|
self.metadata.disabled = accessor["$option_sound"] == 16
|
|
break
|
|
end
|
|
until true
|
|
end)
|
|
end
|
|
),
|
|
keybinds = ____exports.keybindsButtons(assets, "calibration", text)
|
|
}
|
|
return ____awaiter_resolve(
|
|
nil,
|
|
ST:view(
|
|
__TS__New(STScreen):addDrawer(function(self)
|
|
love.graphics.setLineWidth(1 / 3)
|
|
love.graphics.rectangle(
|
|
"line",
|
|
ST.width / -2 + 1,
|
|
ST.height / -2 + 1,
|
|
ST.width - 2,
|
|
ST.height - 2
|
|
)
|
|
end),
|
|
{},
|
|
function(screen)
|
|
return __TS__AsyncAwaiter(function(____awaiter_resolve)
|
|
local music = assets["m$mainmenu"]:instance_forced()
|
|
__TS__Await(____exports.mouseButtonMenu(screen, buttons, "main"))
|
|
music:stop()
|
|
return ____awaiter_resolve(
|
|
nil,
|
|
function()
|
|
end
|
|
)
|
|
end)
|
|
end
|
|
)
|
|
)
|
|
end)
|
|
end
|
|
|
|
return ____exports
|