set_tooltip esc command

This commit is contained in:
2023-08-27 16:37:43 +02:00
parent bc2ce9dbf6
commit c20964a17c
4 changed files with 61 additions and 5 deletions

View File

@@ -0,0 +1,52 @@
# `set_tooltip object action text`
#
# Sets the tooltip text for the given `ESCItemWithTooltip` and action.
#
# **Parameters**
#
# - *object*: Global ID of the object whose toolitp is to be updated
# - *action*: ID of the action, action1, action2, action3 or action4.
# - *toolip*: The tooltip text string
#
# @ESC
extends ESCBaseCommand
class_name SetTooltipCommand
# Return the descriptor of the arguments of this command
func configure() -> ESCCommandArgumentDescriptor:
return ESCCommandArgumentDescriptor.new(
2,
[TYPE_STRING,TYPE_STRING, TYPE_STRING],
[null, "action1", ""]
)
# Validate whether the given arguments match the command descriptor
func validate(arguments: Array):
if not .validate(arguments):
return false
if not escoria.object_manager.has(arguments[0]):
escoria.logger.error(
self,
"[%s]: invalid object. Object with global id %s not found."
% [get_command_name(), arguments[0]]
)
return false
return true
# Run the command
func run(command_params: Array) -> int:
(escoria.object_manager.get_object(command_params[0]).node as ESCItemWithTooltip)\
.set_tooltip(command_params[1],command_params[2])
return ESCExecution.RC_OK
# Function called when the command is interrupted.
func interrupt():
# Do nothing
pass

View File

@@ -64,4 +64,6 @@ func _ready():
pass
func set_tooltip(action: String, text: String):
set(action + "_text", text)