48 lines
1.2 KiB
Lua
48 lines
1.2 KiB
Lua
------------------------------------------------------------------------------
|
|
-- Imports
|
|
------------------------------------------------------------------------------
|
|
|
|
local make_class = require 'src.utils.classes'
|
|
local assets = require 'src.utils.asstmngr'
|
|
local Drawable = require 'src.graphics.drawable'
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- Class definitions
|
|
------------------------------------------------------------------------------
|
|
|
|
local GameState = make_class(Drawable)
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- Class methods
|
|
------------------------------------------------------------------------------
|
|
|
|
function GameState:_init(name, index)
|
|
Drawable._init(self)
|
|
self.name = name
|
|
self.index = index
|
|
self.next_state = self.index
|
|
end
|
|
|
|
|
|
function GameState:update(_)
|
|
return self.next_state
|
|
end
|
|
|
|
|
|
function GameState:load()
|
|
end
|
|
|
|
|
|
function GameState:unload()
|
|
assets:unload(self.name)
|
|
end
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
-- Module return
|
|
------------------------------------------------------------------------------
|
|
|
|
return GameState
|