summaryrefslogtreecommitdiff
path: root/main.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-03-04 12:09:06 +0800
committerEltrac <hi@guhub.cn>2025-03-04 12:09:06 +0800
commit27684077b587edc1c61e57ffd5740409e87f9c01 (patch)
treec4fb5f8738ffc38144ae54fa05aa52cc05946197 /main.lua
parente7b8b3c3113cbdb652a27dce888e6b5a1c97f9a4 (diff)
refactor: calling renderer
Diffstat (limited to 'main.lua')
-rw-r--r--main.lua51
1 files changed, 32 insertions, 19 deletions
diff --git a/main.lua b/main.lua
index 3a2abb1..562530a 100644
--- a/main.lua
+++ b/main.lua
@@ -1,43 +1,56 @@
require "config"
-require "render.sprite"
-
require "logic.bullets"
require "logic.player"
require "logic.enemies"
require "logic.loot"
require "logic.map"
-require "utils.renderer"
require "utils.utils"
-function love.load()
- love.window.setIcon(love.image.newImageData("resources/sprites/redheart.png"))
- love.window.setTitle("Heart Hunter")
+require "render.sprite"
+local Renderer = require "render.renderer"
- sprite.load()
+-- initializers
- renderer = Renderer:new()
+local function initRenderer()
+ RenderManager = Renderer:new()
local drawObject = require "render.draws.objects"
local drawUI = require "render.draws.ui"
local drawBackground = require "render.draws.background"
- renderer:add("background", nil, drawBackground.room)
- renderer:add("background", nil, drawBackground.doors)
- renderer:add("background", nil, drawBackground.obstacles)
- renderer:add("objects", nil, drawObject.loot)
- renderer:add("objects", nil, drawObject.player)
- renderer:add("objects", nil, drawObject.enemies)
- renderer:add("objects", nil, drawObject.bullets)
- renderer:add("ui", nil, drawUI.ammoBar)
- renderer:add("ui", nil, drawUI.roomClearedCounter)
- math.randomseed(os.time())
+ local renderees = {
+ {"background", drawBackground.room},
+ {"background", drawBackground.doors},
+ {"background", drawBackground.obstacles},
+ {"objects", drawObject.loot},
+ {"objects", drawObject.player},
+ {"objects", drawObject.enemies},
+ {"objects", drawObject.bullets},
+ {"ui", drawUI.ammoBar},
+ {"ui", drawUI.roomClearedCounter}
+ }
+ for _, renderee in ipairs(renderees) do
+ RenderManager:add(renderee[1], nil, renderee[2])
+ end
+end
+
+-- entry functions
+
+function love.load()
+ love.window.setIcon(love.image.newImageData("resources/sprites/redheart.png"))
+ love.window.setTitle("Heart Hunter")
+
+ sprite.load()
+ initRenderer()
+
+ math.randomseed(os.time())
initGame()
end
function love.draw()
- renderer:draw()
+ RenderManager:draw()
end
local controller = require "logic.controller"