Beispiel #1
0
        void Interaction_ResponseReceived(object sender, ResponseGeneratedEventArgs e)
        {
            try
            {
                this.InvokeIfRequired(panel =>
                {
                    BotResponse botResponse = e.Response as BotResponse;
                    if (botResponse == null)
                    {
                        return;
                    }
                    try
                    {
                        richEditControl.CreateNewDocument();
                        richEditControl.Document.BeginUpdate();
                        richEditControl.Document.RtfText       = botResponse.RtfText;
                        richEditControl.Document.CaretPosition = richEditControl.Document.Range.Start;
                    }
                    finally { richEditControl.Document.EndUpdate(); }
                    richEditControl.ScrollToCaret();

                    waitLabelControl.Visible = false;
                    richEditControl.Visible  = true;
                });
            }
            catch (Exception) { }
        }
        protected virtual void OnResponseReceived(object sender, ResponseGeneratedEventArgs e)
        {
            if (this.VirtualAssistant.Speech.Synthesizers.Current != null)
            {
                this.VirtualAssistant.Speech.Synthesizers.Current.Speak(e.Response.Text);
            }

            try
            {
                this.InvokeIfRequired(form =>
                {
                    this.virtualAssistantControl.LoadEmotionState(GetRandomEmotionState());
                    this.virtualAssistantControl.Properties.Caption.Text = e.Response.Text.TruncateAtLastSentence(300);
                });
            }
            catch (ObjectDisposedException) { }
        }