in Scripts/Runtime/CallbackHandlers/WitResponseMatcher.cs [37:82]
protected override void OnHandleResponse(WitResponseNode response)
{
if (IntentMatches(response))
{
if (ValueMatches(response))
{
for (int j = 0; j < formattedValueEvents.Length; j++)
{
var formatEvent = formattedValueEvents[j];
var result = formatEvent.format;
for (int i = 0; i < valueMatchers.Length; i++)
{
var reference = valueMatchers[i].Reference;
var value = reference.GetStringValue(response);
if (!string.IsNullOrEmpty(formatEvent.format))
{
if (!string.IsNullOrEmpty(value))
{
result = valueRegex.Replace(result, value, 1);
result = result.Replace("{" + i + "}", value);
}
else if (result.Contains("{" + i + "}"))
{
result = "";
break;
}
}
}
if (!string.IsNullOrEmpty(result))
{
formatEvent.onFormattedValueEvent?.Invoke(result);
}
}
}
List<string> values = new List<string>();
for (int i = 0; i < valueMatchers.Length; i++)
{
var value = valueMatchers[i].Reference.GetStringValue(response);
values.Add(value);
}
onMultiValueEvent.Invoke(values.ToArray());
}
}