-
Notifications
You must be signed in to change notification settings - Fork 0
Main Menu
This scene holds three distinct but connected parts. The Main Menu Screen, New Level Overlay, and Load Level Overlay.
Connecting Systems:
- None
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.
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.
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.
Whether you are on the web or OS build, you can export your level as a zip file directly to your downloads folder, allowing you to easily share your creations with other users.
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.
Creates a duplicate version of your level, for easy saving and iteration of levels. You can also favorite levels, allowing for easier access to your highest valued creations.
Delete levels you no longer wish to keep. This is completely destructive, and there is no way to retrieve a delete level folder without a backup.
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.
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. -
func export_current_level() -> void: Exports the currently selected level as a zip file. -
func create_new_level() -> void: Creates a new level and launches it into edit mode with the given level parameters. -
func fill_level_list() -> void: Fills the level list with all your levels in your user://Levels/ directory. -
func update_metadata() -> void: Updates the metadata displayed to the user when they select a level from the level list. -
func open_level_folder() -> void: Opens the exact directory where levels are stored. -
func edit_current_level() -> void: Opens the currently selected level into edit mode. -
func delete_current_level() -> void: Deletes the current level destructively, by removing each file and folder one-by-one. -
func duplicate_current_Level() -> void: Duplicates the currently selected level. -
func favorite_current_level() -> void: Sets the metadata of the current level's favorite to true/false. -
func show_credits_screen() -> void: Reveals the credits screen to the user. -
func _on_files_dropped() -> void: Grabs the dropped files, and loads it if its a level.
Future Work: Renaming levels.
Risks: None.
- This is the root page and the project will need to open it first when program is run.
Resources
Known Issues
Future Work
Globals
Managers
- Main Menu Manager
- Master Manager
- Camera Manager
- Hotkey Manager
- Import Export Manager
- Audio Manager
- Animation Manager
- PopUp Manager
UI
Managers
- Editor Manager
- Tile Manager
- Entity Manager
- Icon Manager
- Preview Manager
- Tool Manager
- Asset Manager
- Custom Cursor Manager
Tiles & Entities
- Grid Lines
- Preview Line
- Tiles & Entities
- Enemies
- Patrolling Enemy
- Flying Enemy
- Shooting Enemy
- Stationary Enemy
- Moving Platform
- Property Editing
Asset Swapping
UI
Managers
Player