tiny-ecs-playdate-template/src/main.lua

48 lines
1.1 KiB
Lua

require = import
import("CoreLibs/animation.lua")
import("CoreLibs/animator.lua")
import("CoreLibs/easing.lua")
import("CoreLibs/graphics.lua")
import("CoreLibs/object.lua")
import("CoreLibs/timer.lua")
import("CoreLibs/ui.lua")
import("CoreLibs/utilities/where.lua")
import("../lib/tiny-debug.lua")
import("../lib/tiny.lua")
import("utils.lua")
import("tiny-tools.lua")
local tiny <const> = tiny
world = tiny.world()
import("generated/filter-types.lua")
import("generated/assets.lua")
import("generated/all-systems.lua")
local gfx <const> = playdate.graphics
playdate.display.setRefreshRate(50)
gfx.setBackgroundColor(gfx.kColorWhite)
local scenarios = {
default = function()
-- TODO: Add default entities
end,
textTestScenario = function()
world:addEntity({ position = { x = 50, y = 50 }, drawAsText = { text = "Hello, world!" } })
end,
}
scenarios.textTestScenario()
function playdate.update()
local deltaSeconds = playdate.getElapsedTime()
playdate.resetElapsedTime()
gfx.clear(gfx.kColorWhite)
playdate.drawFPS(5, 5)
world:update(deltaSeconds)
gfx.setDrawOffset(0, 0)
end