diff options
| author | radiohotline <radoihotline@disroot.rg> | 2026-08-25 16:33:56 +0300 |
|---|---|---|
| committer | radiohotline <radoihotline@disroot.rg> | 2026-08-25 16:33:56 +0300 |
| commit | a89e744ed0e8c759caf041a580112365bbfe4303 (patch) | |
| tree | dd61e320904176995727e86a857d00c90d4933ba /addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd | |
| parent | 6d53d8cac78250dc888aa49d5f9d4175c6652feb (diff) | |
Diffstat (limited to 'addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd')
| -rw-r--r-- | addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd b/addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd new file mode 100644 index 0000000..3849e31 --- /dev/null +++ b/addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd @@ -0,0 +1,45 @@ +class_name GdUnitContextMenuItem + + +var command_id: String: + set(value): + command_id = value + get: + return command_id + +var name: StringName: + set(value): + name = value + get: + return name + +var visible: Callable: + set(value): + visible = value + get: + return visible + +var icon: Texture2D: + get: + return GdUnitCommandHandler.instance().command_icon(command_id) + + +func _init(p_command_id: String, p_name: StringName, p_is_visible: Callable) -> void: + assert(p_command_id != null and not p_command_id.is_empty(), "(%s) missing command id " % p_command_id) + assert(p_is_visible != null, "(%s) missing parameter 'GdUnitCommand'" % p_name) + + self.command_id = p_command_id + self.name = p_name + self.visible = p_is_visible + + +func shortcut() -> Shortcut: + return GdUnitCommandHandler.instance().command_shortcut(command_id) + + +func is_visible(...args: Array) -> bool: + return visible.callv(args) + + +func execute(...args: Array) -> void: + GdUnitCommandHandler.instance().command_execute(command_id, args) |
