76 lines
2.4 KiB
Lua
76 lines
2.4 KiB
Lua
|
local ParentScreen = require "scenes.overworld.screens.parent"
|
||
|
local PauseScreen = ParentScreen:extend()
|
||
|
|
||
|
local ListBox = require "core.modules.menusystem.listbox"
|
||
|
local Widget = require "core.modules.menusystem.widgets"
|
||
|
|
||
|
local Emblem = require "game.modules.gui.emblem"
|
||
|
|
||
|
local menu = require "game.modules.menus.fancy"
|
||
|
local baseMenu = require "game.modules.menus.parents.menu"
|
||
|
local baseWidget = require "game.modules.menus.parents.widget"
|
||
|
|
||
|
local CharacterWidget = baseWidget:extend()
|
||
|
|
||
|
--local PauseMenu =
|
||
|
|
||
|
function PauseScreen:new(scene)
|
||
|
PauseScreen.super.new(self, scene)
|
||
|
end
|
||
|
|
||
|
function PauseScreen:setMenu()
|
||
|
menu.FancyMenu(self.scene, "main", 16, 48, 128, 8, false)
|
||
|
menu.BaseWidget(self.scene, "main", "Team", ">")
|
||
|
menu.BaseWidget(self.scene, "main", "Items", ">")
|
||
|
--self.menuObj.BoxedWidget(self.scene, "main", "Equipments", ">")
|
||
|
menu.BaseWidget(self.scene, "main", "Chao", ">")
|
||
|
menu.BaseWidget(self.scene, "main", "Encylopedia", ">")
|
||
|
menu.BaseWidget(self.scene, "main", "Save", ">")
|
||
|
menu.BaseWidget(self.scene, "main", "Options", ">")
|
||
|
menu.BaseWidget(self.scene, "main", "Exit game", ">")
|
||
|
|
||
|
baseMenu(self.scene, "character", 168, 40, 248, 168, 4)
|
||
|
CharacterWidget(self.scene, "sonic")
|
||
|
CharacterWidget(self.scene, "tails")
|
||
|
CharacterWidget(self.scene, "amy")
|
||
|
CharacterWidget(self.scene, "sonic")
|
||
|
end
|
||
|
|
||
|
function PauseScreen:draw()
|
||
|
self.scene.assets.fonts["SA2font"]:print("MAIN MENU", 158, 16)
|
||
|
end
|
||
|
|
||
|
-- Hero custom widget
|
||
|
--
|
||
|
function CharacterWidget:new(scene, name)
|
||
|
self.charName = name
|
||
|
self.emblem = Emblem(game.characters.list[name], scene)
|
||
|
self.font2 = scene.assets.fonts["hudnbrs_small"]
|
||
|
CharacterWidget.super.new(self, scene, "character")
|
||
|
end
|
||
|
|
||
|
function CharacterWidget:drawCanvas()
|
||
|
local character = game.characters.list[self.charName]
|
||
|
self.font:setFilter("shadow")
|
||
|
local debut = 0
|
||
|
local xDebut = 32
|
||
|
self.font:draw(character.fullname, xDebut, debut, -1, "left")
|
||
|
local yLvl = debut + 16
|
||
|
local xLvl = xDebut
|
||
|
self.scene.assets.images["lvl"]:draw(xLvl, yLvl)
|
||
|
self.scene.assets.images["exp"]:draw(xLvl, yLvl + 10)
|
||
|
self.font2:print(character.level, xLvl + 19, yLvl, "left")
|
||
|
local expString = character.exp .. "/" .. character.exp_next
|
||
|
self.font2:print(expString, xLvl + 19, yLvl + 10, "left")
|
||
|
--text, x, y, limit, align
|
||
|
end
|
||
|
|
||
|
function CharacterWidget:draw(x, y)
|
||
|
self.emblem:draw(x, y+6)
|
||
|
if self.canvas.texture ~= nil then
|
||
|
love.graphics.draw(self.canvas.texture, x - self.ox, y - self.oy)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return PauseScreen
|