feat(game): initial "battle completed screen
This commit is contained in:
parent
7ded36c277
commit
8048210bac
3 changed files with 55 additions and 1 deletions
|
@ -24,6 +24,7 @@ return {
|
||||||
{"m_power", "assets/gui/emblem_power_mask.png"},
|
{"m_power", "assets/gui/emblem_power_mask.png"},
|
||||||
|
|
||||||
{"hudturn", "assets/gui/strings/hudturn.png"},
|
{"hudturn", "assets/gui/strings/hudturn.png"},
|
||||||
|
{"battlecompleted", "assets/gui/strings/battle_completed.png" }
|
||||||
},
|
},
|
||||||
["fonts"] = {
|
["fonts"] = {
|
||||||
{"small", "assets/gui/fonts/PixelOperator.ttf", 16},
|
{"small", "assets/gui/fonts/PixelOperator.ttf", 16},
|
||||||
|
|
|
@ -5,6 +5,8 @@ local BattleSystem = Scene:extend()
|
||||||
local World = require "scenes.battlesystem.world"
|
local World = require "scenes.battlesystem.world"
|
||||||
local MenuSystem = require "scenes.battlesystem.menu"
|
local MenuSystem = require "scenes.battlesystem.menu"
|
||||||
|
|
||||||
|
local VictoryScreen = require "scenes.battlesystem.screens.victory"
|
||||||
|
|
||||||
function BattleSystem:new()
|
function BattleSystem:new()
|
||||||
BattleSystem.super.new(self)
|
BattleSystem.super.new(self)
|
||||||
|
|
||||||
|
@ -15,6 +17,8 @@ function BattleSystem:new()
|
||||||
self:register()
|
self:register()
|
||||||
|
|
||||||
self:startBattle()
|
self:startBattle()
|
||||||
|
|
||||||
|
self.screen = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleSystem:initManagers()
|
function BattleSystem:initManagers()
|
||||||
|
@ -28,15 +32,21 @@ function BattleSystem:startBattle()
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleSystem:finishBattle()
|
function BattleSystem:finishBattle()
|
||||||
|
self.screen = VictoryScreen(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleSystem:update(dt)
|
function BattleSystem:update(dt)
|
||||||
self.world:update(dt)
|
self.world:update(dt)
|
||||||
|
if (self.screen ~= nil) then
|
||||||
|
self.screen:update(dt)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleSystem:draw()
|
function BattleSystem:draw()
|
||||||
self.world:draw()
|
self.world:draw()
|
||||||
|
if (self.screen ~= nil) then
|
||||||
|
self.screen:draw()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function BattleSystem:exit()
|
function BattleSystem:exit()
|
||||||
|
|
43
sonic-radiance.love/scenes/battlesystem/screens/victory.lua
Normal file
43
sonic-radiance.love/scenes/battlesystem/screens/victory.lua
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
local VictoryScreen = Object:extend()
|
||||||
|
|
||||||
|
local TweenManager = require "game.modules.tweenmanager"
|
||||||
|
|
||||||
|
local BATTLECOMPLETE_START = 2
|
||||||
|
local BATTLECOMPLETE_STOP = 4
|
||||||
|
|
||||||
|
function VictoryScreen:new(scene)
|
||||||
|
self.scene = scene
|
||||||
|
self.assets = scene.assets
|
||||||
|
|
||||||
|
self.tweens = TweenManager(self)
|
||||||
|
|
||||||
|
self.vignetteOpacity = 0
|
||||||
|
self.labelOpacity = 0
|
||||||
|
|
||||||
|
local _, height = core.screen:getDimensions()
|
||||||
|
self.labelY = height/2
|
||||||
|
|
||||||
|
self.tweens:newTween(0, 0.6, {vignetteOpacity=0.75}, 'inExpo')
|
||||||
|
self.tweens:newTween(0, 0.6, {labelOpacity=1}, 'inExpo')
|
||||||
|
self.tweens:newTween(0.9, 0.4, {labelY=32}, 'inExpo')
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function VictoryScreen:update(dt)
|
||||||
|
self.tweens:update(dt)
|
||||||
|
end
|
||||||
|
|
||||||
|
function VictoryScreen:draw()
|
||||||
|
love.graphics.setColor(0, 0, 0, self.vignetteOpacity)
|
||||||
|
|
||||||
|
local width, height = core.screen:getDimensions()
|
||||||
|
love.graphics.rectangle("fill", 0, 0, width, height)
|
||||||
|
love.graphics.setColor(1, 1, 1, self.labelOpacity)
|
||||||
|
|
||||||
|
|
||||||
|
local w, h = self.assets.images["battlecompleted"]:getDimensions()
|
||||||
|
self.assets.images["battlecompleted"]:draw(width/2, self.labelY, 0, 1, 1, w/2, h/2)
|
||||||
|
utils.graphics.resetColor()
|
||||||
|
end
|
||||||
|
|
||||||
|
return VictoryScreen
|
Loading…
Reference in a new issue