-
Notifications
You must be signed in to change notification settings - Fork 0
Main Menu Manager
The Main Menu Manager handles all buttons, functions, and data relating to the main menu. The project will start with play and edit Node2Ds hidden, and the main menu Control node shown.
List of connecting/parent/subsystems.
Connecting Systems:
Subsystems:
List of related controls.
While the Editor Manager does not have any controls itself, controls related to tools and modifying the grid are under Tool Manager, whereas hotkeys for switching tools are under Hokey Manager.
List of known bugs. Be descriptive but keep it brief! When holding left click on any button in main menu, the held down visual state is present until you release even when that buttons popup has appeared. File Dialog input not getting read, cannot close or open files
- Notes.
New Level Button: shows the new level pop-up
- Create Button: as of now directly calls .edit() on menu manager, bringing the global state to EDIT
- Cancel Button: hides the new level pop-up
Import Level Button: shows the import level pop-up
- Create Button: as of now shows the invalid file-path message since loading files is not implemented
- Cancel Button: hides the import level pop-up
- Browse Button: opens file dialog, doesn't have functionality at the moment
Quit Button: exits the application
Name the most important variables, their type, and what their purpose is
masterManager: Node2D = A reference to Master Manager.
buttonNewLevel: Button = A reference to New Level button in Main Menu Control Node.
buttonImportLevel: Button = A reference to Import Level button in Main Menu Control Node.
buttonLoadExample: Button = A reference to Load Example button in Main Menu Control Node.
buttonQuit: Button = A reference to Quit button in Main Menu Control Node.
overlayNewLevel: ColorRect = A reference to New Level ColorRect in Main Menu Control Node.
overlayImportLevel: ColorRect = A reference to Import Level ColorRect in Main Menu Control Node.
buttonNewLevelCreate: Button = A reference to New Level button child: create button.
buttonNewLevelCancel: Button = A reference to New Level button child: cancel button.
fieldNewLevelName: LineEdit = A reference to New Level button child: level name field.
fieldNewLevelX: LineEdit = A reference to New Level button child: grid size X field.
fieldNewLevelY: LineEdit = A reference to New Level button child: grid size Y field.
buttonImportLevelCancel: Button = A reference to Import Level button child: cancel button.
buttonImportLevelOpen: Button = A reference to Import Level button child: open button.
buttonImportLevelBrowse: TextureButton = A reference to Import Level button child: browse button.
fieldImportLevelPath: LineEdit = A reference to Import Level button child: filepath field.
panelInvalidPath: PanelContainer = A reference to Import Level button child: invalid path panel.
fileExplorer: FileDialog = A File Dialog for opening file explorer
Name of the most important functions, their parameters, and what they do.
func change_current_hotbar(newState: Global.HotbarState) -> void: Changes the object hotbar.
func get_grid_mouse_position(mousePosition: Vector2) -> Vector2: Returns a Vector2 of the current cell the mouse is in.
func check_out_of_bounds(mousePosition: Vector2i) -> bool: Returns whether the mouse is considered out of bounds of the grid.
func open_asset_manager() -> void: Opens up the asset manager, and pauses the editing scene.
List and description of upcoming work/risks.
Future Work: 2. None at the moment, but more managers under Editor Manager may be added as needed.
Risks:
- The Tile types are distinguished by an atlas source ID. This must be in synchronization with the global TileType enumerator. Desync issues may result otherwise.
A place for miscellaneous notes pertaining to this system.
- None.
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