From b11e196d4b1131e555b2b54731655cf1cb36b6c5 Mon Sep 17 00:00:00 2001 From: Duncan Brown Date: Sun, 30 Oct 2022 22:41:48 -0400 Subject: [PATCH] feat: adds in additional information concerning failed statement. --- .../core-scripts/esc/esc_event_manager.gd | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd index 979e654d..926419d3 100644 --- a/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd +++ b/addons/escoria-core/game/core-scripts/esc/esc_event_manager.gd @@ -410,11 +410,8 @@ func _on_event_finished(finished_event: ESCStatement, finished_statement: ESCSta if return_code == ESCExecution.RC_CANCEL: return_code = ESCExecution.RC_OK elif return_code == ESCExecution.RC_ERROR: - escoria.logger.warn( - self, - "Statement '%s' returned an error in event '%s'. Resetting input mode to 'ALL'." - % [finished_statement.name, event.name] - ) + _generate_statement_error_warning(finished_statement, event.name) + escoria.inputs_manager.input_mode = escoria.inputs_manager.INPUT_ALL _running_events[channel_name] = null @@ -461,3 +458,21 @@ func _is_event_running(event: ESCEvent, channel_name: String) -> bool: var running_event: ESCEvent = get_running_event(channel_name) return running_event != null and running_event.name == event.name + + +# Generates a logger warning concerning an errored-out statement. +func _generate_statement_error_warning(statement: ESCStatement, event_name: String) -> void: + var warning_string: String = "Statement '%s' returned an error in event '%s'" \ + % [statement.name, event_name] + + if statement is ESCCommand and statement.parameters.size() > 0: + var statement_params: String = "[" + PoolStringArray(statement.parameters).join(", ") + "]" + + warning_string += " with parameters: %s" % statement_params + + warning_string += ". Resetting input mode to 'ALL'." + + escoria.logger.warn( + self, + warning_string + )