Reorganized code and assets.

This commit is contained in:
2025-10-05 15:24:48 -04:00
parent 7f8d79e00f
commit 03b5d1dafb
23 changed files with 57 additions and 23 deletions

View File

@@ -3,13 +3,13 @@
------------------------------------------------------------------------------
local make_class = require 'src.utils.classes'
local Asset = require 'src.utils.asset'
------------------------------------------------------------------------------
-- Class definitions
------------------------------------------------------------------------------
local Drawable = make_class()
local Drawable = make_class(Asset)
------------------------------------------------------------------------------
@@ -20,10 +20,6 @@ function Drawable:_init()
end
function Drawable:load()
end
function Drawable:update(_)
end
@@ -32,10 +28,6 @@ function Drawable:draw()
end
function Drawable:unload()
end
function Drawable:keypressed(_, _ , _)
end

View File

@@ -4,7 +4,7 @@
local love = require 'love'
local make_class = require 'src.utils.classes'
local Drawable = require 'src.ui.drawable'
local Drawable = require 'src.graphics.drawable'
------------------------------------------------------------------------------
-- Class definitions
@@ -18,7 +18,7 @@ local Sprite = make_class(Drawable)
------------------------------------------------------------------------------
function Sprite:_init(sprite_name, x, y)
self.sprite_name = sprite_name
self.sprite_name = string.format('assets/%s', sprite_name)
self.x = (x ~= nil and x) or 0
self.y = (y ~= nil and y) or 0
end

View File

@@ -3,7 +3,7 @@
------------------------------------------------------------------------------
local make_class = require 'src.utils.classes'
local Drawable = require 'src.ui.drawable'
local Drawable = require 'src.graphics.drawable'
------------------------------------------------------------------------------
-- Class definitions

View File

@@ -4,9 +4,9 @@
local make_class = require 'src.utils.classes'
local GameState = require 'src.gstates.gstate'
local Sprite = require 'src.ui.sprite'
local Fader = require 'src.utils.fader'
local SoundEffect = require 'src.utils.sfx'
local Sprite = require 'src.graphics.sprite'
local Fader = require 'src.graphics.fader'
local SoundEffect = require 'src.sound.sfx'
------------------------------------------------------------------------------
-- Class definitions

View File

@@ -5,9 +5,10 @@
local love = require 'love'
local make_class = require 'src.utils.classes'
local GameState = require 'src.gstates.gstate'
local Fader = require 'src.utils.fader'
local Fader = require 'src.graphics.fader'
local Sprite = require 'src.graphics.sprite'
local Cursor = require 'src.ui.cursor'
local SoundEffect = require 'src.utils.sfx'
local SoundEffect = require 'src.sound.sfx'
------------------------------------------------------------------------------
@@ -26,6 +27,9 @@ function MainMenu:_init(name, index)
self.skip = false
self.fade = Fader()
-- Create sprites and buttons.
self.background = Sprite('imgs/cpu.png')
-- Create a mouse cursor object at the current mouse position.
local mx, my = love.mouse.getPosition()
self.cursor = Cursor(mx, my)
@@ -37,6 +41,7 @@ end
function MainMenu:load()
-- Load sprites.
self.background:load()
self.cursor:load()
-- Load sound effects and start playing the background music
@@ -55,12 +60,14 @@ end
function MainMenu:draw()
self.background:draw()
self.cursor:draw()
self.fade:draw()
end
function MainMenu:unload()
self.background:unload()
self.cursor:unload()
self.bgm:unload()
end

View File

@@ -4,7 +4,7 @@
local love = require 'love'
local make_class = require 'src.utils.classes'
local Asset = require 'src.utils.asset'
------------------------------------------------------------------------------
-- Class definitions
@@ -13,7 +13,7 @@ local make_class = require 'src.utils.classes'
-- SoundEffect is a simple wrapper around Löve's Source class to allow for
-- easy loading/unloading and automatically hecking if a sound effect is valid
-- before using it.
local SoundEffect = make_class()
local SoundEffect = make_class(Asset)
------------------------------------------------------------------------------
@@ -21,7 +21,7 @@ local SoundEffect = make_class()
------------------------------------------------------------------------------
function SoundEffect:_init(file_name)
self.file_name = file_name
self.file_name = string.format('assets/%s', file_name)
end

View File

@@ -3,7 +3,7 @@
------------------------------------------------------------------------------
local make_class = require 'src.utils.classes'
local Sprite = require 'src.ui.sprite'
local Sprite = require 'src.graphics.sprite'
------------------------------------------------------------------------------

35
src/utils/asset.lua Normal file
View File

@@ -0,0 +1,35 @@
------------------------------------------------------------------------------
-- Imports
------------------------------------------------------------------------------
local make_class = require 'src.utils.classes'
------------------------------------------------------------------------------
-- Class definitions
------------------------------------------------------------------------------
local Asset = make_class()
------------------------------------------------------------------------------
-- Class methods
------------------------------------------------------------------------------
function Asset:_init()
end
function Asset:load()
end
function Asset:unload()
end
------------------------------------------------------------------------------
-- Module return
------------------------------------------------------------------------------
return Asset