local ____lualib = require("lualib_bundle") local __TS__New = ____lualib.__TS__New local ____exports = {} local ____storyteller = require("code.engine.storyteller") local ST = ____storyteller.ST local STContainer = ____storyteller.STContainer local STHitbox = ____storyteller.STHitbox local STRectangle = ____storyteller.STRectangle local STText = ____storyteller.STText local ____global = require("code.global") local sourceClear = ____global.sourceClear local sourceReset = ____global.sourceReset local world = ____global.world local ____launcher = require("code.screens.launcher") local mouseButtonMenu = ____launcher.mouseButtonMenu local function textGen() return { header = "(确定要退出吗?)\n{color=0xff3f3f}(本世界未保存的数据\n将会丢失。)", button1 = "继续游玩", button2 = "退出游戏" } end local function acquit(assets, atlas, batch, ____debug, ____bindingPattern0) local screen screen = ____bindingPattern0.screen local text = textGen() local state = { acquitted = false, debug = false } return { text = text, state = state, handler = function(self, result) if result == "restart" or not love.window.hasFocus() or world:check() == 0 or state.acquitted then return false end local ____opt_0 = atlas.keybinds.cancel if ____opt_0 ~= nil then ____opt_0() end state.acquitted = true sourceClear() if ____debug.canActivate then state.debug = true ____debug.canActivate = false end local wrapper = __TS__New( STContainer, { alpha = 0.92, priority = 2000000, children = { __TS__New(STRectangle, { alpha = 0.5, anchor = 0.5, size = { x = 240, y = 180 }, color = 0, priority = -3 }), __TS__New(STRectangle, { anchor = 0.5, size = { x = 180, y = 90 }, color = 0, priority = -2 }), __TS__New(STContainer, { priority = -1 }):addDrawer(function(self) love.graphics.setLineWidth(1 / 3) love.graphics.rectangle( "line", 180 / -2 + 1, 90 / -2 + 1, 180 - 2, 90 - 2 ) end) } } ):addDrawer(batch.drawer) screen:attach(wrapper) local ____self_2 = mouseButtonMenu( wrapper, { main = ST:populate( 3, function(i) local content = ({ text.header, text.button1, text.button2 })[i + 1] local metadata metadata = { disabled = i == 0, action = function(____, controller) repeat local ____switch12 = i local ____cond12 = ____switch12 == 1 if ____cond12 then controller["goto"](controller, nil) metadata.disabled = true state.acquitted = false break end ____cond12 = ____cond12 or ____switch12 == 2 if ____cond12 then love.event.quit() break end until true end } local position = 0.5 return __TS__New( STHitbox, { anchor = 0.5, metadata = metadata, position = { x = (i == 0 and 0 or ST:spread(45, i - 1, 2)) - position, y = (i == 0 and -8 or 24) - position }, size = i == 0 and 0 or assets["f$fives"]:compute(content), children = { __TS__New(STText, { anchor = 0.5, justify = i == 0 and 0.5 or nil, font = i == 0 and assets["f$helloplayer"] or assets["f$fives"], position = position, content = content }) } } ) end ) }, "main" ) ____self_2["then"]( ____self_2, function() screen:detach(wrapper) if state.debug then ____debug.canActivate = true end sourceReset() end ) return true end } end ____exports.default = acquit return ____exports