From e0ebc4969ce5332a9732785a4deb95f3649f0206 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Tue, 31 Aug 2021 19:12:56 +0200 Subject: [PATCH] feat: initial gui version of gameover --- .../game/modules/gui/gameover.lua | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sonic-radiance.love/game/modules/gui/gameover.lua diff --git a/sonic-radiance.love/game/modules/gui/gameover.lua b/sonic-radiance.love/game/modules/gui/gameover.lua new file mode 100644 index 0000000..af1fdab --- /dev/null +++ b/sonic-radiance.love/game/modules/gui/gameover.lua @@ -0,0 +1,44 @@ +local Screen = require "birb.modules.gui.screen" +local GameOverScreen = Screen:extend() + +local TextElement = require "birb.modules.gui.elements.text" +local ConfirmDialog = require "game.modules.confirmdialog" + +local defTransitions = require "birb.modules.transitions" + +local HEIGHT = 40 + +local show = { + {"gameText", "movement", 0.9, 0.4, 424/2 - 4, HEIGHT, "inExpo"}, + {"overText", "movement", 0.9, 0.4, 424/2 + 4, HEIGHT, "inExpo"} + } + +function GameOverScreen:new() + GameOverScreen.super.new(self, "titleScreen") + self:addTransform("show", show) + self.scene:showOverlay(true) + self:show() +end + +function GameOverScreen:createElements() + return { + {TextElement("gameText", "SA2font", "GAME", 0, HEIGHT, "right"), 0, 1}, + {TextElement("overText", "SA2font", "OVER", 424, HEIGHT, "left"), 0, 1}, + {ConfirmDialog(self.scene, "Do you want to return to title ? \nYou can also reload your latest save.", + function() self:returnToTitle() end, "Return to title", + function() self:loadLastSave() end, "Reload last save"), + 1.8, 0} + } +end + +function GameOverScreen:returnToTitle() + core.screen:startTransition(defTransitions.default, defTransitions.circle, function() scenes.menus.title(true) end, 424/2, 240/2) +end + +function GameOverScreen:loadLastSave() + self.scene.tweens:newTween(0, 0.3, {borderPosition=0}, "inOutQuad") + core.screen:startTransition(defTransitions.default, defTransitions.default, function() game:reload() scenes.overworld() end, 424/2, 240/2) +end + + +return GameOverScreen \ No newline at end of file