scenes/mainmenu: port to the new scene system

This commit is contained in:
Kazhnuz 2019-02-25 16:22:46 +01:00
parent 578e4481e2
commit 9c3e279113
3 changed files with 35 additions and 19 deletions

View File

@ -27,6 +27,8 @@ assets = require "modules.assets"
save = require "modules.savegame"
vpad = require "modules.vpad"
scenes = require "scenes"
-- On charge après cela les différentes scènes, qui sont les différents types
-- d'écrant avec lesquels le joueur interagira
require "scenes"
@ -40,9 +42,20 @@ function love.load() -- On charge la scene de départ (pour l'instant le menu, b
save:init("save1")
virtualpad = vpad()
Gamestate.registerEvents()
save:reset()
save:addPig("cochon")
Gamestate.switch(stateDebugMenu)
scenes.MainMenu()
CScreen.init(480, 272, true)
end
function love.update(dt)
core:update(dt)
end
function love.draw()
core:draw()
end
function love.mousemoved(x, y, dx, dy)
core:mousemoved(x, y, dx, dy)
end

View File

@ -1,14 +1,15 @@
local Scene = require "core.modules.scenes"
local MainMenu = Scene:extend()
stateDebugMenu = {}
local DebugMenu = require "scenes.debugmenu.controller"
local bannerAnim = 0
function stateDebugMenu:init(previous)
assets:setBackground( "back" )
end
function MainMenu:new()
MainMenu.super.new(self)
function stateDebugMenu:enter(previous)
assets:setBackground( "back" )
menus:reset()
assets:clearFonts()
@ -31,31 +32,29 @@ function stateDebugMenu:enter(previous)
assets:clearTextBox()
assets:addTextBox("bluetextbox")
self:register()
end
function stateDebugMenu:update(dt)
function MainMenu:update(dt)
MainMenu.super.update(self, dt)
lovebird.update()
menus:update()
bannerAnim = (bannerAnim + (dt*32*1.5)) % 32
end
function stateDebugMenu:keyreleased(key, code)
function MainMenu:keyreleased(key, code)
menus:keyreleased(key, code)
end
function stateDebugMenu:mousemoved(x, y, dx, dy)
local x, y = CScreen.project(x, y)
local dx, dy = CScreen.project(dx, dy)
function MainMenu:mousemoved(x, y, dx, dy)
menus:mousemoved(x, y, dx, dy)
end
function stateDebugMenu:mousepressed( x, y, button, istouch )
local x, y = CScreen.project(x, y)
function MainMenu:mousepressed( x, y, button, istouch )
menus:mousepressed( x, y, button, istouch )
end
function stateDebugMenu:draw(dt)
CScreen:apply()
function MainMenu:draw()
assets:drawBackground()
assets.sprites["emblem"]:draw(1, 240, 272/2-32, 0, 1, 1, 330/2, 192/2)
@ -81,5 +80,6 @@ function stateDebugMenu:draw(dt)
assets.fonts["small"]:setLineHeight(1.2)
assets.textbox["bluetextbox"]:draw(120, 216, 240, 42)
love.graphics.printf(self.debugmenu.description, 120, 216, 240, "left")
CScreen:cease()
end
return MainMenu

View File

@ -4,6 +4,9 @@ Ce script se contente de charger les différentes scenes que le jeu comporte.
]]
require "scenes.mainmenu"
require "scenes.levels"
require "scenes.debugmenu"
local Scene = {}
Scene.MainMenu = require "scenes.debugmenu"
Scene.Levels = require "scenes.levels"
return Scene