add mode switch

This commit is contained in:
fnicon 2026-03-13 22:33:20 +09:00
parent a4576b4233
commit 6e5f0f2029
4 changed files with 88 additions and 4 deletions

View File

@ -1,13 +1,36 @@
local racing = require("src.modes.racing")
local mode = {
require("src.modes.racing"),
require("src.modes.raising_sim")
};
local mode_i = 1
function love.load()
racing.load()
mode[mode_i].load()
end
function love.update(dt)
racing.update(dt)
mode[mode_i].update(dt)
end
function love.draw()
racing.draw()
mode[mode_i].draw()
end
function love.keyreleased(key, scancode)
if (key == "right") then
mode_i = mode_i + 1
if (mode_i > 2) then
mode_i = 1
end
end
mode[mode_i].keyreleased(key, scancode)
end
function love.keypressed(key, scancode, isrepeat)
mode[mode_i].keypressed(key, scancode, isrepeat)
end
function love.mousereleased(x, y, button, istouch, presses)
mode[mode_i].mousereleased(x, y, button, istouch, presses)
end

24
game/src/modes/mode.lua Normal file
View File

@ -0,0 +1,24 @@
local mode = {}
function mode.load()
end
function mode.update(dt)
end
function mode.draw()
end
function mode.keyreleased(key, scancode)
end
function mode.keypressed(key, scancode, isrepeat)
end
function mode.mousereleased(x, y, button, istouch, presses)
end
return mode

View File

@ -60,4 +60,13 @@ function mode.draw()
entities.racer:draw()
end
function mode.keyreleased(key, scancode)
end
function mode.keypressed(key, scancode, isrepeat)
end
function mode.mousereleased(x, y, button, istouch, presses)
end
return mode

View File

@ -0,0 +1,28 @@
local mode = {}
local entities = {
}
function mode.load()
end
function mode.update(dt)
end
function mode.draw()
end
function mode.keyreleased(key, scancode)
end
function mode.keypressed(key, scancode, isrepeat)
end
function mode.mousereleased(x, y, button, istouch, presses)
end
return mode