diff --git a/gymkhana/addons/escoria-ui-return-monkey-island/esc/commands/set_tooltip.gd b/gymkhana/addons/escoria-ui-return-monkey-island/esc/commands/set_tooltip.gd new file mode 100644 index 00000000..ba968b40 --- /dev/null +++ b/gymkhana/addons/escoria-ui-return-monkey-island/esc/commands/set_tooltip.gd @@ -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 + diff --git a/gymkhana/addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd b/gymkhana/addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd index 3a149a0b..d751febe 100644 --- a/gymkhana/addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd +++ b/gymkhana/addons/escoria-ui-return-monkey-island/esc_item_with_tooltip.gd @@ -68,4 +68,6 @@ func highlight(value: bool): var a = 0 - +func set_tooltip(action: String, text: String): + set(action + "_text", text) + diff --git a/gymkhana/rooms/turno_cocina/despensa/esc/bidon_cntr.esc b/gymkhana/rooms/turno_cocina/despensa/esc/bidon_cntr.esc index d6b7ebe6..817ea8b1 100644 --- a/gymkhana/rooms/turno_cocina/despensa/esc/bidon_cntr.esc +++ b/gymkhana/rooms/turno_cocina/despensa/esc/bidon_cntr.esc @@ -1,5 +1,7 @@ :action1 say player "Hay muchas lentejas." + set_tooltip turno_cocina_despensa_bidon_cntr action1 "Mirar bidon con lentejas" + set_tooltip turno_cocina_despensa_bidon_cntr action2 "Coger lentejas" :action2 say player "Necesito cogerlas con algo." diff --git a/project.godot b/project.godot index 35284084..b3d3a739 100644 --- a/project.godot +++ b/project.godot @@ -557,7 +557,7 @@ _global_script_classes=[ { "base": "ESCBaseCommand", "class": "SetAnimationsCommand", "language": "GDScript", -"path": "res://addons/escoria-core/game/core-scripts/esc/commands/set_animations.gd" +"path": "res://gymkhana/addons/escoria-ui-return-monkey-island/esc/commands/set_tooltip.gd" }, { "base": "ESCBaseCommand", "class": "SetGlobalCommand",