TaggedEngine/states/creditsstate.lua

81 lines
2.2 KiB
Lua

local credits = {
{
name = "Entar (Owner)",
icon = "images/credits/entar.png"
},
{
name = "IDK (Helper)",
icon = "images/credits/idk.png"
},
{
name = "MarkedAman \n(Assets, DadBattle MRK)",
icon = "images/credits/aman.png"
},
{
name = "Pankdoe (DadBattle MRK Mix vocals)",
-- icon = "images/credits/pankdoe.png"
}
}
local font = love.graphics.newFont("fonts/FridayNightFunkin-Regular.ttf", 60)
return function()
---@type engine.state
local state = {}
local currentOne = 1
local evilCurrentOne = 1
local icons = {}
function state.update(delta)
evilCurrentOne = Lerp(evilCurrentOne, currentOne, .05)
render.updateSprites(delta)
end
function state.draw()
render.drawSprites()
render.drawUI()
for index, credit in next, credits do
local color = index == currentOne and {0.5, 0.5, 0.5} or {0,0,0}
love.graphics.print({color, credit.name}, font, love.graphics.getWidth() / 2 - font:getWidth(credit.name) / 2, love.graphics.getHeight() / 2 + (index - evilCurrentOne - 0.5) * 200)
if icons[credit.name] then
local icon = icons[credit.name]
icon.position = Vector2(love.graphics.getWidth() / 2 - font:getWidth(credit.name) / 2 - 150, love.graphics.getHeight() / 2 + (index - evilCurrentOne - 0.7) * 200)
end
end
end
function state.load()
love.window.setTitle("TaggedEngine: Credits")
local bg = Image("images/menuBG.png")
bg.layer = -5
for index, credit in next, credits do
local icon = credit.icon
if not icon then goto continue end
icon = Image(icon)
icon.position = Vector2(0, love.graphics.getHeight() / 2 + (index - evilCurrentOne - 0.7) * 200)
icons[credit.name] = icon
::continue::
end
end
function state.keypressed(key)
if key == "down" then
currentOne = currentOne + 1 > #credits and 1 or currentOne + 1
elseif key == "escape" then
state.changeState("menustate")
end
end
return state
end