Skip to content

Main Menu

Zay Arriaga edited this page Jul 22, 2026 · 13 revisions

System Summary

This scene holds three distinct but connected parts. The Main Menu Screen, New Level Overlay, and Load Level Overlay.


Connected Systems

Connecting Systems:

Related Controls

Bugs

  • None

Feature List / Breakdown of Features

Main Menu

Root Page. Three main parts. The Levelsmith labs logo is displayed in the top left corner, with the version at the opposite side. The left side houses the three buttons: New Level, Import Level, and Open Level. The two buttons link to New Level Overlay and Load Level Overlay, which are hidden by default. Underneath the buttons is the level list with the displayed level names, favorited levels will appear at the top of the list. Underneath all of those is the exit editor button which closes the application. On the right side is a preview of a level, this will be a screenshot of the level. Underneath that is the name of the level with a button to favorite the level. Underneath all of those, there are three main sections. The left section houses two buttons: Duplicate level and delete level. To the right of that is the metadata of the level, and to the right of that are the buttons to play level and edit level.

New Level Overlay

Allows you to name a level and set the height and width of the new level. Two buttons to create the level which brings you to the editor state with that level loaded. The cancel button closes the overlay and brings you back to the main menu. There is an error banner that will appear when an error appears.

Import Level Overlay

Allows you to import a level through a file path. A button allows you to open file explorer to select a file to import in. Open brings you to the editor state of the loaded level. Cancel closes the overlay and returns to the main menu. There is an error banner that will appear when an error appears.

Load Level List

Displays a grid list of all the levels currently stored in the user's directory, allowing the user to load any level by double clicking on them. This list will only display valid levels, so if any files are missing, it will not appear in the list.


Important Variables

Name the most important variables, their type, and what their purpose is

  • Buttons = An export group of a series of clickable buttons on the main menu.
  • Overlays = An export group of overlays that can be displayed to the user on the main menu.
  • New Level = An export group for all the UI related to creating a new level.
  • Import Level = An export group for all the UI related to importing an already existing level.
  • Duplicate Level = An export group for all the UI related to duplicating an already existing level.
  • MetaData = An export group for all the UI labels and textures that get replaced when selecting a level with different metadata.
  • exportLevelButton = A button that exports the selected level to the user's given folder.
  • levelList = A reference to the VBoxContainer that will contain all the level list items.
  • Level List Item = An exported reference to the level list item packed scene, used to instantiate new level list items as needed.
  • globalSettingsButton = A button that opens up the global settings menu for the entire tool.

Important Functions

Name of the most important functions, their parameters, and what they do.

  • func ready() -> void: Assigns all proper signals, and does appropriate signals per being web/application build.

  • func overlay_show/hide...() -> void: Shows or hides the appropriate overlay to the user.

  • func import_level() -> void: Imports and loads the level from the given directory. Fails if the file path given is incorrect to what is expected.


Future Work / Risks

Future Work:

  • Add the global theme to the menu
  • Replace placeholder preset

Risks: None


Miscellaneous Notes

  • This is the root page and the project will need to open it first when program is run.

Clone this wiki locally