Added options menu and menu transitions.

This commit is contained in:
2025-10-06 01:07:33 -04:00
parent 719a9cd0f6
commit 9561db2847
9 changed files with 253 additions and 51 deletions

View File

@@ -0,0 +1,39 @@
------------------------------------------------------------------------------
-- Imports
------------------------------------------------------------------------------
local make_class = require 'src.utils.classes'
local constants = require 'src.gstates.menus.const'
local BaseMenu = require 'src.gstates.menus.base'
local Color = require 'src.utils.color'
------------------------------------------------------------------------------
-- Class definitions
------------------------------------------------------------------------------
local OptionsMenu = make_class(BaseMenu)
------------------------------------------------------------------------------
-- Class methods
------------------------------------------------------------------------------
function OptionsMenu:_init(parent, title_font, button_font)
BaseMenu._init(self, parent, "Options Menu", constants.OPTIONS_MENU, 'imgs/cpu.png')
-- Create UI elements of the main menu.
self.container:add_label('Options', title_font, Color(215, 0, 0), true)
self.container:add_label('Enable Permadeath', button_font)
self.container:add_label('Controls', button_font)
self.container:add_label('Sound Volume', button_font)
self.container:add_label('Music Volume', button_font)
self.container:add_text_button('Go Back', button_font, function() parent.next_menu = constants.MAIN_MENU end)
end
------------------------------------------------------------------------------
-- Module return
------------------------------------------------------------------------------
return OptionsMenu