Mothback/code/game.lua

99 lines
1.9 KiB
Lua

function GameStep()
SetCollisionFlags()
if menu_type == "no" then
for _, particle in pairs(LoadedParticles) do
particle:Smart()
end
for _, enty in pairs(LoadedObjects.Entities) do
enty:Smart()
end
end
for _, particle in pairs(LoadedObjects.Particles) do
particle:DoPhysics()
end
for _, enty in pairs(LoadedObjects.Entities) do
enty:DoPhysics()
end
AnimateTiles()
Camera:positionCenterAt(main_Player.pos.x, main_Player.pos.y)
--camera:positionAt(main_Player.pos.x, main_Player.pos.y,game.width,game.height)
if Keybind:CheckPressed(Keybind.debug.debug) then
if debug then
debug = false
debug_collision = true
elseif debug_collision then
debug_collision = false
else
debug = true
end
end
if Keybind:CheckPressed(Keybind.debug.reposition) then
if not editor_mode then
main_Player.pos.x, main_Player.pos.y = 16,-10
end
end
if Keybind:CheckPressed(Keybind.debug.reload) then
MenuClear()
menu_type = "dialog"
MenuInit("dialog",DialogSequence.Example)
end
if Keybind:CheckPressed(Keybind.debug.editor) then
editor_mode = true
end
if Keybind:CheckPressed(Keybind.debug.recording) then
if DemoRecording then
Demo:RecordEnd()
else
Demo:RecordStart()
end
end
if Keybind:CheckPressed(Keybind.debug.playback) then
if DemoPlayback then
Demo:PlaybackEnd()
else
Demo:PlaybackStart()
end
end
end
function GameDraw()
-- prepare
GameworldDrawPrepare()
GameWorldUpdateLights()
-- background
GameworldDrawBackground()
GameworldDrawLights()
GameworldDrawEntitiesBackground()
-- foreground
GameworldDrawForeground()
GameworldDrawParticles()
GameworldDrawEntities()
if LevelData.properties.darkness then
GameworldDrawDarkness()
end
-- end
GameworldDrawEnd()
-- hud
textScale = 1
-- debug
if debug then DebugUI() end
if debug_collision then
DebugColisions()
DebugEntities()
end
end