Handling speech errors
This commit is contained in:
		
							parent
							
								
									2bb1202530
								
							
						
					
					
						commit
						e61d80f2aa
					
				@ -1,9 +1,32 @@
 | 
				
			|||||||
Tree("Root") {
 | 
					Tree("Root") {
 | 
				
			||||||
    Composite(Sequence) {
 | 
					    Composite(Sequence) {
 | 
				
			||||||
        BTC.InitializeSpeechManager()
 | 
					        BTC.InitializeSpeechManager()
 | 
				
			||||||
        BTC.SetVoiceName("de-DE-SeraphinaMultilingualNeural")
 | 
					
 | 
				
			||||||
        RunTree("10_SBB_Zugabteil_Intro")
 | 
					        Composite(Race) {
 | 
				
			||||||
        RunTree("10_SBB_Zugabteil_Szenenwahl_Selection")
 | 
					            Composite(Sequence) {
 | 
				
			||||||
 | 
					                // Error in Speech Service: Cancel BTC Trees
 | 
				
			||||||
 | 
					                BTC.SpeechErrorOccured()
 | 
				
			||||||
 | 
					                BTC.SetBool("error")
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            Composite(Sequence) {
 | 
				
			||||||
 | 
					                BTC.SetVoiceName("de-DE-SeraphinaMultilingualNeural")
 | 
				
			||||||
 | 
					                RunTree("10_SBB_Zugabteil_Intro")
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Composite(Sequence) {
 | 
				
			||||||
 | 
					            BTC.CompareBool("error")
 | 
				
			||||||
 | 
					            // Error Handling
 | 
				
			||||||
 | 
					            BTC.AbortSpeechEventListener()
 | 
				
			||||||
 | 
					            BTC.StopSpeechIntentRecognition()
 | 
				
			||||||
 | 
					            BTC.ClearPossbileSpeechIntents()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Restart")
 | 
				
			||||||
 | 
					            BTC.Show("GO.HANDMENU.Option1Button")
 | 
				
			||||||
 | 
					            BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
				
			||||||
 | 
					            BTC.Hide("GO.HANDMENU.Option1Button")
 | 
				
			||||||
 | 
					        }                             
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,17 +1,39 @@
 | 
				
			|||||||
Tree("Root") {
 | 
					Tree("Root") {
 | 
				
			||||||
    Composite(Sequence) {
 | 
					    Composite(Sequence) {
 | 
				
			||||||
        BTC.InitializeSpeechManager()
 | 
					        BTC.InitializeSpeechManager()   // delete in finale productive version
 | 
				
			||||||
        //BTC.SetSpeechRecognitionLanguage("it-IT")
 | 
					        //BTC.SetSpeechRecognitionLanguage("it-IT")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //RunTree("32_Grotto_Story_B_Grotto_Intro")
 | 
					        Composite(Race) {
 | 
				
			||||||
 | 
					            Composite(Sequence) {
 | 
				
			||||||
 | 
					                // Error in Speech Service: Cancel BTC Trees
 | 
				
			||||||
 | 
					                BTC.SpeechErrorOccured()
 | 
				
			||||||
 | 
					                BTC.SetBool("error")
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        RunTree("32_Grotto_Kueche_Intro")
 | 
					            Composite(Sequence) {
 | 
				
			||||||
        RunTree("32_Grotto_Kueche_Zwiebeln_schneiden")
 | 
					                //RunTree("32_Grotto_Story_B_Grotto_Intro")
 | 
				
			||||||
        RunTree("32_Grotto_Kueche_alles_gefunden")
 | 
					
 | 
				
			||||||
        //RunTree("32_Grotto_Kueche_Kochen_Anzahl")
 | 
					                RunTree("32_Grotto_Kueche_Intro")
 | 
				
			||||||
        //RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
					                RunTree("32_Grotto_Kueche_Zwiebeln_schneiden")
 | 
				
			||||||
        //RunTree("32_Grotto_Im_Grotto_Essen_Intro")
 | 
					                RunTree("32_Grotto_Kueche_alles_gefunden")
 | 
				
			||||||
        
 | 
					                //RunTree("32_Grotto_Kueche_Kochen_Anzahl")
 | 
				
			||||||
 | 
					                //RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
				
			||||||
 | 
					                //RunTree("32_Grotto_Im_Grotto_Essen_Intro")
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Composite(Sequence) {
 | 
				
			||||||
 | 
					            BTC.CompareBool("error")
 | 
				
			||||||
 | 
					            // Error Handling
 | 
				
			||||||
 | 
					            BTC.AbortSpeechEventListener()
 | 
				
			||||||
 | 
					            BTC.StopSpeechIntentRecognition()
 | 
				
			||||||
 | 
					            BTC.ClearPossbileSpeechIntents()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            BTC.Set("TextMeshPro.GO.Option1Button", "text", "Restart")
 | 
				
			||||||
 | 
					            BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
 | 
					            BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
 | 
					            BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -234,27 +256,27 @@ Tree("32_Grotto_Story_B_Grotto_Intro") {
 | 
				
			|||||||
                    // Selector 3: Fallback Button
 | 
					                    // Selector 3: Fallback Button
 | 
				
			||||||
                    Composite(Sequence) {
 | 
					                    Composite(Sequence) {
 | 
				
			||||||
                        Composite(Marathon) {
 | 
					                        Composite(Marathon) {
 | 
				
			||||||
                            BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Küche")
 | 
					                            BTC.Set("TextMeshPro.GO.Option1Button", "text", "Küche")
 | 
				
			||||||
                            BTC.Show("GO.HANDMENU.Option1Button")
 | 
					                            BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
                            BTC.Set("TextMeshPro.HANDMENU.Option2Button", "text", "Garten")
 | 
					                            BTC.Set("TextMeshPro.GO.Option2Button", "text", "Garten")
 | 
				
			||||||
                            BTC.Show("GO.HANDMENU.Option2Button")
 | 
					                            BTC.Show("GO.GO.Option2Button")
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        Composite(Race) {
 | 
					                        Composite(Race) {
 | 
				
			||||||
                            Composite(Sequence) {
 | 
					                            Composite(Sequence) {
 | 
				
			||||||
                                // Kueche
 | 
					                                // Kueche
 | 
				
			||||||
                                BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                                BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                                BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                                BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                                BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                                RunTree("32_Grotto_Story_B_Grotto_Antwort_Nonna_Kueche")
 | 
					                                RunTree("32_Grotto_Story_B_Grotto_Antwort_Nonna_Kueche")
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            Composite(Sequence) {
 | 
					                            Composite(Sequence) {
 | 
				
			||||||
                                // Garten
 | 
					                                // Garten
 | 
				
			||||||
                                BTC.Run("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                                BTC.Run("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                                BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                                BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                                BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                                RunTree("32_Grotto_Story_B_Grotto_Antwort_Nonna_Grotto")
 | 
					                                RunTree("32_Grotto_Story_B_Grotto_Antwort_Nonna_Grotto")
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@ -843,27 +865,27 @@ Tree("32_Grotto_Kueche_alles_gefunden") {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                        // Fallback Button
 | 
					                        // Fallback Button
 | 
				
			||||||
                        Composite(Marathon) {
 | 
					                        Composite(Marathon) {
 | 
				
			||||||
                            BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Ja")
 | 
					                            BTC.Set("TextMeshPro.GO.Option1Button", "text", "Ja")
 | 
				
			||||||
                            BTC.Show("GO.HANDMENU.Option1Button")
 | 
					                            BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
                            BTC.Set("TextMeshPro.HANDMENU.Option2Button", "text", "Nein")
 | 
					                            BTC.Set("TextMeshPro.GO.Option2Button", "text", "Nein")
 | 
				
			||||||
                            BTC.Show("GO.HANDMENU.Option2Button")
 | 
					                            BTC.Show("GO.GO.Option2Button")
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        Composite(Race) {
 | 
					                        Composite(Race) {
 | 
				
			||||||
                            Composite(Sequence) {
 | 
					                            Composite(Sequence) {
 | 
				
			||||||
                                // Ja
 | 
					                                // Ja
 | 
				
			||||||
                                BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                                BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                                BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                                BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                                BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                                RunTree("32_Grotto_Kueche_Interesse_Kochen")
 | 
					                                RunTree("32_Grotto_Kueche_Interesse_Kochen")
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            Composite(Sequence) {
 | 
					                            Composite(Sequence) {
 | 
				
			||||||
                                // Nein
 | 
					                                // Nein
 | 
				
			||||||
                                BTC.Run("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                                BTC.Run("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                                BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                                BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                                BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                                RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
					                                RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@ -881,27 +903,27 @@ Tree("32_Grotto_Kueche_alles_gefunden") {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                // Fallback Button
 | 
					                // Fallback Button
 | 
				
			||||||
                Composite(Marathon) {
 | 
					                Composite(Marathon) {
 | 
				
			||||||
                    BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Ja")
 | 
					                    BTC.Set("TextMeshPro.GO.Option1Button", "text", "Ja")
 | 
				
			||||||
                    BTC.Show("GO.HANDMENU.Option1Button")
 | 
					                    BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
                    BTC.Set("TextMeshPro.HANDMENU.Option2Button", "text", "Nein")
 | 
					                    BTC.Set("TextMeshPro.GO.Option2Button", "text", "Nein")
 | 
				
			||||||
                    BTC.Show("GO.HANDMENU.Option2Button")
 | 
					                    BTC.Show("GO.GO.Option2Button")
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                Composite(Race) {
 | 
					                Composite(Race) {
 | 
				
			||||||
                    Composite(Sequence) {
 | 
					                    Composite(Sequence) {
 | 
				
			||||||
                        // Ja
 | 
					                        // Ja
 | 
				
			||||||
                        BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                        BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                        BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                        BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                        BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                        BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                        BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                        BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                        RunTree("32_Grotto_Kueche_Interesse_Kochen")
 | 
					                        RunTree("32_Grotto_Kueche_Interesse_Kochen")
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    Composite(Sequence) {
 | 
					                    Composite(Sequence) {
 | 
				
			||||||
                        // Nein
 | 
					                        // Nein
 | 
				
			||||||
                        BTC.Run("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                        BTC.Run("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                        BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                        BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                        BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                        BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                        BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                        BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                        RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
					                        RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@ -915,24 +937,24 @@ Tree("32_Grotto_Kueche_Interesse_Kochen") {
 | 
				
			|||||||
    Composite(Sequence) {
 | 
					    Composite(Sequence) {
 | 
				
			||||||
        BTC.Run("AudioSource.AUDIO.Kueche1FInteresseK")
 | 
					        BTC.Run("AudioSource.AUDIO.Kueche1FInteresseK")
 | 
				
			||||||
        // ToDo: Freie Antwort als Speech Input
 | 
					        // ToDo: Freie Antwort als Speech Input
 | 
				
			||||||
        BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Lasagne")
 | 
					        BTC.Set("TextMeshPro.GO.Option1Button", "text", "Lasagne")
 | 
				
			||||||
        BTC.Show("GO.HANDMENU.Option1Button")
 | 
					        BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
        BTC.SetBool("32_Grotto_Kueche_Interesse_Kochen_Button_Clicked", false)
 | 
					        BTC.SetBool("32_Grotto_Kueche_Interesse_Kochen_Button_Clicked", false)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Composite(Race) {
 | 
					        Composite(Race) {
 | 
				
			||||||
            Composite(Sequence) {
 | 
					            Composite(Sequence) {
 | 
				
			||||||
                // Lieblingsessen nennen
 | 
					                // Lieblingsessen nennen
 | 
				
			||||||
                BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                BTC.SetBool("32_Grotto_Kueche_Interesse_Kochen_Button_Clicked")
 | 
					                BTC.SetBool("32_Grotto_Kueche_Interesse_Kochen_Button_Clicked")
 | 
				
			||||||
                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                RunTree("32_Grotto_Kueche_Kochen_Anzahl")
 | 
					                RunTree("32_Grotto_Kueche_Kochen_Anzahl")
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            Composite(Sequence) {
 | 
					            Composite(Sequence) {
 | 
				
			||||||
                // keine Antwort
 | 
					                // keine Antwort
 | 
				
			||||||
                BTC.Wait(5)
 | 
					                BTC.Wait(5)
 | 
				
			||||||
                BTC.CompareBool("32_Grotto_Kueche_Interesse_Kochen_Button_Clicked", false)
 | 
					                BTC.CompareBool("32_Grotto_Kueche_Interesse_Kochen_Button_Clicked", false)
 | 
				
			||||||
                BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
					                RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -980,27 +1002,27 @@ Tree("32_Grotto_Kueche_Kochen_Anzahl") {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
                        // Fallback Button
 | 
					                        // Fallback Button
 | 
				
			||||||
                        Composite(Marathon) {
 | 
					                        Composite(Marathon) {
 | 
				
			||||||
                            BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "sehr oft")
 | 
					                            BTC.Set("TextMeshPro.GO.Option1Button", "text", "sehr oft")
 | 
				
			||||||
                            BTC.Show("GO.HANDMENU.Option1Button")
 | 
					                            BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
                            BTC.Set("TextMeshPro.HANDMENU.Option2Button", "text", "selten")
 | 
					                            BTC.Set("TextMeshPro.GO.Option2Button", "text", "selten")
 | 
				
			||||||
                            BTC.Show("GO.HANDMENU.Option2Button")
 | 
					                            BTC.Show("GO.GO.Option2Button")
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        Composite(Race) {
 | 
					                        Composite(Race) {
 | 
				
			||||||
                            Composite(Sequence) {
 | 
					                            Composite(Sequence) {
 | 
				
			||||||
                                // sehr oft
 | 
					                                // sehr oft
 | 
				
			||||||
                                BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                                BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                                BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                                BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                                BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                                RunTree("32_Grotto_Kueche_Selbststaendig_Kochen")
 | 
					                                RunTree("32_Grotto_Kueche_Selbststaendig_Kochen")
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            Composite(Sequence) {
 | 
					                            Composite(Sequence) {
 | 
				
			||||||
                                // selten
 | 
					                                // selten
 | 
				
			||||||
                                BTC.Run("NamedEventTrigger.HANDMENU.Option2Button")
 | 
					                                BTC.Run("NamedEventTrigger.GO.Option2Button")
 | 
				
			||||||
                                BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                                BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                                BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                                BTC.Hide("GO.HANDMENU.Option2Button")
 | 
					                                BTC.Hide("GO.GO.Option2Button")
 | 
				
			||||||
                                RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
					                                RunTree("32_Grotto_Kueche_Zusammen_Kochen")
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
@ -1109,13 +1131,13 @@ Tree("32_Grotto_Kueche_Parmigiano") {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // Antwort User
 | 
					        // Antwort User
 | 
				
			||||||
        // ToDo: Sprache fehlt
 | 
					        // ToDo: Sprache fehlt
 | 
				
			||||||
        BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Ja")
 | 
					        BTC.Set("TextMeshPro.GO.Option1Button", "text", "Ja")
 | 
				
			||||||
        BTC.Show("GO.HANDMENU.Option1Button")
 | 
					        BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
        Composite(Race) {
 | 
					        Composite(Race) {
 | 
				
			||||||
            BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					            BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
            BTC.Wait(5)
 | 
					            BTC.Wait(5)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					        BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        BTC.SynthesizeText("Bitte stelle den Risotto hier hin.")
 | 
					        BTC.SynthesizeText("Bitte stelle den Risotto hier hin.")
 | 
				
			||||||
        BTC.SpeechOutputEnded()
 | 
					        BTC.SpeechOutputEnded()
 | 
				
			||||||
@ -1159,10 +1181,10 @@ Tree("32_Grotto_Kueche_Parmigiano") {
 | 
				
			|||||||
                        BTC.ClearPossbileSpeechIntents()
 | 
					                        BTC.ClearPossbileSpeechIntents()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        // Fallback Button
 | 
					                        // Fallback Button
 | 
				
			||||||
                        BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "Mein Name ist User.")
 | 
					                        BTC.Set("TextMeshPro.GO.Option1Button", "text", "Mein Name ist User.")
 | 
				
			||||||
                        BTC.Show("GO.HANDMENU.Option1Button")
 | 
					                        BTC.Show("GO.GO.Option1Button")
 | 
				
			||||||
                        BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
 | 
					                        BTC.Run("NamedEventTrigger.GO.Option1Button")
 | 
				
			||||||
                        BTC.Hide("GO.HANDMENU.Option1Button")
 | 
					                        BTC.Hide("GO.GO.Option1Button")
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
				
			|||||||
@ -661,12 +661,14 @@ public class BTC : MonoBehaviour {
 | 
				
			|||||||
    private ViaggioAIManager _speechMng { get { return ViaggioAIManager.Instance; } }
 | 
					    private ViaggioAIManager _speechMng { get { return ViaggioAIManager.Instance; } }
 | 
				
			||||||
    private RequestDataModel _requestDataModel = new RequestDataModel();
 | 
					    private RequestDataModel _requestDataModel = new RequestDataModel();
 | 
				
			||||||
    private string _recognizedIntentID = "";
 | 
					    private string _recognizedIntentID = "";
 | 
				
			||||||
 | 
					    private string _speechErrorText = "";
 | 
				
			||||||
    private bool _onIntentRecognitionSucceededEventTriggered = false;
 | 
					    private bool _onIntentRecognitionSucceededEventTriggered = false;
 | 
				
			||||||
    private bool _onUserSpeechInputStartedEventTriggered = false;
 | 
					    private bool _onUserSpeechInputStartedEventTriggered = false;
 | 
				
			||||||
    private bool _onIntentRecognitionFailedEventTriggered = false;
 | 
					    private bool _onIntentRecognitionFailedEventTriggered = false;
 | 
				
			||||||
    private bool _onSpeechOutputStartedEventTriggered = false;
 | 
					    private bool _onSpeechOutputStartedEventTriggered = false;
 | 
				
			||||||
    private bool _onSpeechOutputEndedEventTriggered = false;
 | 
					    private bool _onSpeechOutputEndedEventTriggered = false;
 | 
				
			||||||
    private bool _abortSpeechEventListener = false;
 | 
					    private bool _abortSpeechEventListener = false;
 | 
				
			||||||
 | 
					    private bool _onErrorEventTriggered = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void OnDisable()
 | 
					    void OnDisable()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -686,6 +688,9 @@ public class BTC : MonoBehaviour {
 | 
				
			|||||||
            _speechMng.OnSpeechOutputStartedEvent += SpeechOutputStartedEventHandler;
 | 
					            _speechMng.OnSpeechOutputStartedEvent += SpeechOutputStartedEventHandler;
 | 
				
			||||||
            _speechMng.OnSpeechOutputEndedEvent += SpeechOutputEndedEventHandler;
 | 
					            _speechMng.OnSpeechOutputEndedEvent += SpeechOutputEndedEventHandler;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // Error Event
 | 
				
			||||||
 | 
					            _speechMng.OnViaggioAIErrorEvent += SpeechErrorEventHandler;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Debug.Log("SubscribeToEvents successfull.");
 | 
					            Debug.Log("SubscribeToEvents successfull.");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -699,6 +704,7 @@ public class BTC : MonoBehaviour {
 | 
				
			|||||||
            _speechMng.OnIntentRecognitionFailedEvent -= IntentRecognitionFailedEventHandler;
 | 
					            _speechMng.OnIntentRecognitionFailedEvent -= IntentRecognitionFailedEventHandler;
 | 
				
			||||||
            _speechMng.OnSpeechOutputStartedEvent -= SpeechOutputStartedEventHandler;
 | 
					            _speechMng.OnSpeechOutputStartedEvent -= SpeechOutputStartedEventHandler;
 | 
				
			||||||
            _speechMng.OnSpeechOutputEndedEvent -= SpeechOutputEndedEventHandler;
 | 
					            _speechMng.OnSpeechOutputEndedEvent -= SpeechOutputEndedEventHandler;
 | 
				
			||||||
 | 
					            _speechMng.OnViaggioAIErrorEvent -= SpeechErrorEventHandler;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -728,6 +734,12 @@ public class BTC : MonoBehaviour {
 | 
				
			|||||||
        _onSpeechOutputEndedEventTriggered = true;
 | 
					        _onSpeechOutputEndedEventTriggered = true;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private void SpeechErrorEventHandler(object sender, string errorText)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        _onErrorEventTriggered = true;
 | 
				
			||||||
 | 
					        _speechErrorText = errorText;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    [Task]
 | 
					    [Task]
 | 
				
			||||||
    public async void InitializeSpeechManager()
 | 
					    public async void InitializeSpeechManager()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -943,6 +955,18 @@ public class BTC : MonoBehaviour {
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [Task]
 | 
				
			||||||
 | 
					    public void SpeechErrorOccured()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if (_onErrorEventTriggered)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            Task.SetSucceeded();
 | 
				
			||||||
 | 
					            Debug.Log($"ERROR: Speech Service not working. Reason: {_speechErrorText}");
 | 
				
			||||||
 | 
					            _onErrorEventTriggered = false;
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    #endregion
 | 
					    #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #region Visited Stories Manager
 | 
					    #region Visited Stories Manager
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user