protected override void OnHandleResponse()

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());
            }
        }