Skip to content

Property Editing

NebSeniah edited this page Jul 9, 2026 · 17 revisions

System Summary

Descriptive summary of what the system is and what it does.

Entities (Player and enemies) can be selected and have their properties changed.


Connected Systems

List of connecting/parent/subsystems.

Connecting Systems:

Subsystems:

  • None

Related Controls

List of related controls.

Mouse Click:

  • Opens the property menu for the clicked entity. Works on player and enemies.

Slider:

  • Used to change all numeric values for player and enemies, such as jump height and shooting speed.
  • Text field can also be used to adjust values.

Dropdown:

  • Applies stat presets for the player. Changed properties are applied to a custom preset.
  • Also swaps a starting direction between left and right for patrolling enemies.

Checkbox:

  • Used to toggle properties such as patrolling enemy restriction or gravity for shooting enemies.

Bugs

List of known bugs. Be descriptive but keep it brief!

  • None.

Feature List / Breakdown of Features

List of features and descriptions within system.

Property Menu:

  • Appears when clicking the player or enemy.
  • Allows user to edit entity properties using sliders, dropdown menus or checkboxes.

Important Variables

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

  • selectedEntity: Node2D = The currently selected entity by the property menu.

  • playerHealth: float = The player's maximum health, which will be reflected and editable in the property menu.

  • playerSpeed: float = The player speed, which will be reflected and editable in the property menu.

  • playerAcceleration: float = The player acceleration when trying to move in a direction, which will be reflected and editable in the property menu.

  • playerDeceleration: float = The player deceleration when trying to slow down, which will be reflected and editable in the property menu.

  • playerJumpHeight: float = The player jump height, which will be reflected and editable in the property menu.

  • playerAirControl: float = The player air control, which will be reflected and editable in the property menu.

  • playerFallSpeed: float = The player fall speed, which will be reflected and editable in the property menu.

  • playerCoyoteTime: float = The player coyote time, which will be reflected and editable in the property menu.

  • selectedPreset: Resource = The property file for the selected enemy type. Used to set their sliders to the default values.

  • selectedPlayerPreset: Resource = The player movement preset, which is reflected and editable in the property menu.

Important Functions

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

  • func show_menu(resource: Resource) -> void: Displays the property menu with the selected entity's respective UI elements.
  • func _on_preset_options_item_selected(index: int) -> void: A signal that sets the player's movement preset to the one indicated by the given index.
  • func update_values() -> void: Updates all the player values and enemy property files with the values in the sliders, checkboxes and dropdowns.
  • func update_sliders() -> void: Sets all sliders, checkboxes and dropdowns to reflect the current stats of the selected player/enemy.
  • func update_custom() -> void: Loads the custom player preset, and also updates it with any new values.

Future Work / Risks

List and description of upcoming work/risks.

Future Work:

Risks:

  • None.

Miscellaneous Notes

A place for miscellaneous notes pertaining to this system.

  • None.

Clone this wiki locally