From 692d2362bdba8aea1ceaf180a60c0691ebdd91b6 Mon Sep 17 00:00:00 2001 From: entar Date: Fri, 11 Jul 2025 17:41:31 +0700 Subject: [PATCH] Added a GameModule class --- modules/types/init.lua | 55 +++++++++++++++++++++++++++++++++++++--- modules/types/vector.lua | 2 +- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/modules/types/init.lua b/modules/types/init.lua index 82ae996..d071a13 100644 --- a/modules/types/init.lua +++ b/modules/types/init.lua @@ -1,4 +1,54 @@ -print("types") +-- Here i will define some classes used in the game + +---@class GameModule +local GameModule = {} +GameModule.__index = GameModule + +---@param delta number +---@param elapsed number +function GameModule.onUpdate(delta, elapsed) +end +function GameModule.onDraw() +end + +---@param note Note +function GameModule.noteHit(note) +end + +---@param note Note +function GameModule.processNote(note) +end + +---@param song string +function GameModule.onCreate(song) +end + +---@param elapsed number +function GameModule.onPause(elapsed) +end + +---@param pauseTime number +---@param elapsed number +function GameModule.onUnpause(pauseTime, elapsed) +end + +function GameModule.onClose() +end + +function GameModule.onDeath() +end + +---@param beat number +function GameModule.onBeat(beat) +end + +---@param event table +function GameModule.onEvent(event) +end + +function GameModule.drawBelowUI() +end + for index, type in next, love.filesystem.getDirectoryItems("modules/types") do if type == "init.lua" then goto continue end @@ -7,5 +57,4 @@ for index, type in next, love.filesystem.getDirectoryItems("modules/types") do require("modules.types."..file) ::continue:: -end -print("loaded") \ No newline at end of file +end \ No newline at end of file diff --git a/modules/types/vector.lua b/modules/types/vector.lua index 2494c92..3d86fb5 100644 --- a/modules/types/vector.lua +++ b/modules/types/vector.lua @@ -42,6 +42,6 @@ end --- @param x number? --- @param y number? --- @return Vector2 -function _G.Vector2(x, y) +function Vector2(x, y) return setmetatable({x = x or 0, y = y or 0}, Vector2Class) end \ No newline at end of file