-
Notifications
You must be signed in to change notification settings - Fork 0
Entity Manager
The Entity Manager handles the creation, deletion, moving, and opening of the property menu for entities.
List of connecting/parent/subsystems.
Parent Systems:
Connecting Systems:
List of related controls.
Controls are as listed in the Tool Manager, as this manager only handles the functionality post key press.
List of known bugs. Be descriptive but keep it brief!
- None
- Cursor Tool: The Cursor tool can be clicked on the grid to place or delete entities. When clicking on an entity, it will also open up the property menu, allowing for specific properties to be tweaked freely. It can also be held on an entity to drag them around on the grid.
Name the most important variables, their type, and what their purpose is
-
editorManager : Node2D= An exported reference to the editor manager. -
toolManager : Node2D= An exported reference to the tool manager. -
propertyMenu : Panel= An exported reference to the property menu. -
tileMap : TileMapLayer= An exported reference to the editor state's tile map. -
goalCount : int = 0= The amount of goal entities currently in the level. -
movingResource : Resource= The property file pertaining to the entity being moved. -
duplicatingResource : Resource= The property file pertaining to the entity being duplicated.
Name of the most important functions, their parameters, and what they do.
-
func _ready() -> void: Runs upon node creation. Connects a function to the global level creation signal that resetsgoalCountto 0. -
func _process(_delta: float) -> void: Runs every frame in the editor state. SynchronizesgoalCountto Editor Manager'sgoalExists. -
func place_entity(clickPosition: Vector2) -> void: Places an entity at the clicked position. Extra steps are taken depending on the entity type. Enemies will have new property files instantiated, and props will have their rotation applied. -
func delete_entity(clickPosition: Vector2) -> void: Deletes an entity at the clicked position. Deleted enemies will have their corresponding property files removed. -
func edit_properties(clickPosition: Vector2) -> void: Opens the property menu for the selected entity for editing. Only works on the player or enemies. -
func duplicate_entity(clickPos: Vector2) -> void: Stores the info on the clicked entity for duplicating. -
func move_entity(previousClickPos: Vector2) -> void: Stores the info on the clicked entity for moving. Enemy properties are stored inmovingResource. -
func drop_entity() -> void: Drops the entity being moved at the mouse's current position. Returns the entity to its original spot if dropping out of bounds or on another object.
List and description of upcoming work/risks.
Future Work:
- None.
Risks:
- None as of right now.
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