Tree("Root") { Composite(Sequence) { BTC.InitializeSpeechManager() BTC.SetSpeechRecognitionLanguage("it-IT") BTC.SetVoiceName("it-IT-FabiolaNeural") Composite(Race) { Composite(Sequence) { // Error in Speech Service: Cancel BTC Trees BTC.SpeechErrorOccured() BTC.SetBool("error") } Composite(Sequence) { //RunTree("22_Geschaeft_Story_A_Picknicken_Intro") RunTree("22_Geschaeft_Baeckerei_Outro") } } Composite(Sequence) { BTC.CompareBool("error") // Error Handling BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() BTC.Show("GO.GO.SpeechButton") BTC.Set("TextMeshPro.GO.Option1Button", "text", "Restart") BTC.Show("GO.GO.Option1Button") BTC.Run("NamedEventTrigger.GO.Option1Button") BTC.Hide("GO.GO.Option1Button") BTC.Hide("GO.GO.SpeechButton") BTC.Show("GO.GO.Home") BTC.Hide("GO.GO.SpeechOptions") } } } Tree("22_Geschaeft_Story_A_Picknicken_Intro") { Composite(Sequence) { BTC.Show("Depthkit.VIDEOS.Intro1StoryAPickni") BTC.Run("Depthkit.VIDEOS.Intro1StoryAPickni") BTC.Hide("Depthkit.VIDEOS.Intro1StoryAPickni") BTC.Show("Depthkit.VIDEOS.Intro2StoryAPickni") BTC.Run("Depthkit.VIDEOS.Intro2StoryAPickni") BTC.Hide("Depthkit.VIDEOS.Intro2StoryAPickni") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Intro.3") BTC.StartSpeechIntentRecognition() Composite(Race) { // -- Race 1: User sagt etwas Composite(Sequence) { BTC.UserStartedSpeechInput() Composite(Selector) { // -- Selector 1: Intent erkannt Composite(Sequence) { BTC.SpeechIntentRecognized() BTC.ClearPossbileSpeechIntents() } // -- Selector 2: Intent nicht erkannt Composite(Sequence) { BTC.ClearPossbileSpeechIntents() } } RunTree("22_Geschaeft_Story_A_Picknicken_Mitnehmen") } // -- Race 2: User sagt nichts Composite(Sequence) { BTC.Wait(5) BTC.CompareUserSpeechInputStarted(false) BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() // --- Story A Picknicken - Nachfrage Bestellung --- BTC.Show("Depthkit.VIDEOS.NachfrageBestellun_01") BTC.Run("Depthkit.VIDEOS.NachfrageBestellun_01") BTC.Hide("Depthkit.VIDEOS.NachfrageBestellun_01") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Nachfrage_Bestellung.2") BTC.StartSpeechIntentRecognition() Composite(Race) { // -- Race 1: User sagt etwas Composite(Sequence) { BTC.UserStartedSpeechInput() Composite(Selector) { // -- Selector 1: Intent erkannt Composite(Sequence) { BTC.SpeechIntentRecognized() BTC.ClearPossbileSpeechIntents() } // -- Selector 2: Intent nicht erkannt Composite(Sequence) { BTC.ClearPossbileSpeechIntents() } } RunTree("22_Geschaeft_Story_A_Picknicken_Mitnehmen") } // -- Race 2: User sagt nichts Composite(Sequence) { BTC.Wait(5) BTC.CompareUserSpeechInputStarted(false) BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() // --- Story A Picknicken - Bestellung Begleiter Beide --- BTC.Show("Depthkit.VIDEOS.BestellungBegleite_Beide01") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_Beide01") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_Beide01") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_Beide02") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_Beide02") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_Beide02") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_Beide03") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_Beide03") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_Beide03") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_Beide04") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_Beide04") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_Beide04") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_Beide05") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_Beide05") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_Beide05") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_Beide07") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_Beide07") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_Beide07") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_Beide06") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_Beide06") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_Beide06") RunTree("22_Geschaeft_Baeckerei_Outro") } } } // erste Race user sagt nichts } // erste grosse race } } Tree("22_Geschaeft_Story_A_Picknicken_Mitnehmen") { // --- Story A Picknicken - Mitnehmen --- Composite(Sequence) { BTC.Show("Depthkit.VIDEOS.Mitnehmen1StoryAPi") BTC.Run("Depthkit.VIDEOS.Mitnehmen1StoryAPi") BTC.Hide("Depthkit.VIDEOS.Mitnehmen1StoryAPi") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Mitnehmen.2") BTC.StartSpeechIntentRecognition() Composite(Race) { // -- Race 1: User sagt etwas Composite(Sequence) { BTC.UserStartedSpeechInput() Composite(Selector) { // -- Selector 1: Intent erkannt Composite(Sequence) { BTC.SpeechIntentRecognized() BTC.ClearPossbileSpeechIntents() } // -- Selector 2: Intent nicht erkannt Composite(Sequence) { BTC.ClearPossbileSpeechIntents() } } } // -- Race 2: User sagt nichts Composite(Sequence) { BTC.Wait(5) BTC.CompareUserSpeechInputStarted(false) BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() } } BTC.Show("Depthkit.VIDEOS.Mitnehmen5StoryAPi") BTC.Run("Depthkit.VIDEOS.Mitnehmen5StoryAPi") BTC.Hide("Depthkit.VIDEOS.Mitnehmen5StoryAPi") // --- Story A Picknicken - Bezahlen einzeln --- BTC.Show("Depthkit.VIDEOS.Bezahleneinzeln1St") BTC.Run("Depthkit.VIDEOS.Bezahleneinzeln1St") BTC.Hide("Depthkit.VIDEOS.Bezahleneinzeln1St") // ToDo: Bezahlung mit Handy User Composite(Race) { // ToDo: Collide handy mit Payment device BTC.GetKeyDown("Return") Composite(Sequence) { BTC.Wait(5) // Collide Aktion abbrechen? // --- Story A Picknicken - Nachfrage Bezahlung --- BTC.Show("Depthkit.VIDEOS.NachfrageBezahlung_01") BTC.Run("Depthkit.VIDEOS.NachfrageBezahlung_01") BTC.Hide("Depthkit.VIDEOS.NachfrageBezahlung_01") Composite(Race) { // ToDo: Collide handy mit Payment device BTC.GetKeyDown("Return") Composite(Sequence) { BTC.Wait(5) // Collide aktion abbrechen? BTC.Show("Depthkit.VIDEOS.NachfrageBezahlung_03") BTC.Run("Depthkit.VIDEOS.NachfrageBezahlung_03") BTC.Hide("Depthkit.VIDEOS.NachfrageBezahlung_03") } } } } // --- Story A Picknicken - Dank Einkauf --- BTC.Show("Depthkit.VIDEOS.DankEinkauf1StoryA") BTC.Run("Depthkit.VIDEOS.DankEinkauf1StoryA") BTC.Hide("Depthkit.VIDEOS.DankEinkauf1StoryA") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Dank_Einkauf.2") BTC.StartSpeechIntentRecognition() Composite(Race) { // -- Race 1: User sagt etwas Composite(Sequence) { BTC.UserStartedSpeechInput() Composite(Selector) { // -- Selector 1: Intent erkannt Composite(Sequence) { BTC.SpeechIntentRecognized() BTC.ClearPossbileSpeechIntents() } // -- Selector 2: Intent nicht erkannt Composite(Sequence) { BTC.ClearPossbileSpeechIntents() } } } // -- Race 2: User sagt nichts Composite(Sequence) { BTC.Wait(5) BTC.CompareUserSpeechInputStarted(false) BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() } } // --- Story A Picknicken - Bestellung Begleiter --- BTC.Show("Depthkit.VIDEOS.BestellungBegleite_01") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_01") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_01") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_02") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_02") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_02") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_03") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_03") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_03") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_04") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_04") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_04") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_05") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_05") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_05") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_06") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_06") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_06") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_08") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_08") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_08") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_09") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_09") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_09") BTC.Show("Depthkit.VIDEOS.BestellungBegleite_10") BTC.Run("Depthkit.VIDEOS.BestellungBegleite_10") BTC.Hide("Depthkit.VIDEOS.BestellungBegleite_10") RunTree("22_Geschaeft_Baeckerei_Outro") } } Tree("22_Geschaeft_Baeckerei_Outro") { // --- Baeckerei Outro --- Composite(Sequence) { Composite(Marathon) { BTC.SetPosition("GO.XRInteractionHandsSetup.XROrigin", -3.068, 0, 1.6) BTC.SetPosition("GO.HANDMENU", -3.068, 0, 1.6) BTC.RotateToAngle("GO.XRInteractionHandsSetup.XROrigin", 0.0) BTC.RotateToAngle("GO.HANDMENU", 0.0) } BTC.Show("Depthkit.VIDEOS.0BaeckereiOutro") Composite(Marathon) { BTC.Run("Depthkit.VIDEOS.0BaeckereiOutro") BTC.Run("StudioEventEmitter.STATIC.TuerOeffnenSound") } BTC.Hide("Depthkit.VIDEOS.0BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.1BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.1BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.1BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.2BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.2BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.2BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.3BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.3BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.3BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.4BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.4BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.4BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.5BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.5BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.5BaeckereiOutro") BTC.AddPossbileSpeechIntent("Baeckerei_Outro.6") BTC.StartSpeechIntentRecognition() Composite(Race) { // -- Race 1: User sagt etwas Composite(Sequence) { BTC.UserStartedSpeechInput() Composite(Selector) { // -- Selector 1: Intent erkannt Composite(Sequence) { BTC.SpeechIntentRecognized() BTC.ClearPossbileSpeechIntents() } // -- Selector 2: Intent nicht erkannt Composite(Sequence) { BTC.ClearPossbileSpeechIntents() } } } // -- Race 2: User sagt nichts Composite(Sequence) { BTC.Wait(5) BTC.CompareUserSpeechInputStarted(false) BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() } } BTC.Show("Depthkit.VIDEOS.9BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.9BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.9BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.10BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.10BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.10BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.11BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.11BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.11BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.12BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.12BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.12BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.13BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.13BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.13BaeckereiOutro") BTC.Show("Depthkit.VIDEOS.15BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.15BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.15BaeckereiOutro") BTC.AddPossbileSpeechIntent("Baeckerei_Outro.16") BTC.AddPossbileSpeechIntent("Baeckerei_Outro.18") BTC.StartSpeechIntentRecognition() Composite(Race) { // -- Race 1: User sagt etwas Composite(Sequence) { BTC.UserStartedSpeechInput() Composite(Selector) { // -- Selector 1: Intent erkannt Composite(Sequence) { BTC.SpeechIntentRecognized() Composite(Race) { Composite(Sequence) { BTC.CompareIntentID("Baeckerei_Outro.16") BTC.SetBool("ChoosedWalking") } Composite(Sequence) { BTC.CompareIntentID("Baeckerei_Outro.18") BTC.SetBool("ChoosedDriving") } } BTC.ClearPossbileSpeechIntents() } // -- Selector 2: Intent nicht erkannt Composite(Sequence) { BTC.Show("Depthkit.VIDEOS.22BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.22BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.22BaeckereiOutro") BTC.StartSpeechIntentRecognition() Composite(Race) { Composite(Sequence) { BTC.UserStartedSpeechInput() BTC.SpeechIntentRecognized() Composite(Race) { Composite(Sequence) { BTC.CompareIntentID("Baeckerei_Outro.16") BTC.SetBool("ChoosedWalking") } Composite(Sequence) { BTC.CompareIntentID("Baeckerei_Outro.18") BTC.SetBool("ChoosedDriving") } } BTC.ClearPossbileSpeechIntents() } Composite(Sequence) { BTC.Wait(5) BTC.CompareUserSpeechInputStarted(false) BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() BTC.CompareUserSpeechInputStarted(true) } } } // Selector 3: Fallback Button Composite(Sequence) { Composite(Marathon) { BTC.Show("GO.GO.SpeechOptions") BTC.Set("TextMeshPro.GO.Option1Button", "text", "A piedi") BTC.Show("GO.GO.Option1Button") BTC.Set("TextMeshPro.GO.Option2Button", "text", "Monopattino") BTC.Show("GO.GO.Option2Button") } Composite(Race) { Composite(Sequence) { // Zu Fuss BTC.Run("NamedEventTrigger.GO.Option1Button") BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button") BTC.Hide("GO.GO.Option1Button") BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.SpeechButton") BTC.Show("GO.GO.Home") BTC.Hide("GO.GO.SpeechOptions") BTC.SetBool("ChoosedWalking") } Composite(Sequence) { // Scooter BTC.Run("NamedEventTrigger.GO.Option2Button") BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button") BTC.Hide("GO.GO.Option1Button") BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.SpeechButton") BTC.Show("GO.GO.Home") BTC.Hide("GO.GO.SpeechOptions") BTC.SetBool("ChoosedDriving") } } } } } // -- Race 2: User sagt nichts Composite(Sequence) { BTC.Wait(5) BTC.CompareUserSpeechInputStarted(false) BTC.AbortSpeechEventListener() BTC.StopSpeechIntentRecognition() BTC.ClearPossbileSpeechIntents() Composite(Marathon) { BTC.Show("GO.GO.SpeechButton") BTC.Set("TextMeshPro.GO.Option1Button", "text", "A piedi") BTC.Show("GO.GO.Option1Button") BTC.Set("TextMeshPro.GO.Option2Button", "text", "Monopattino") BTC.Show("GO.GO.Option2Button") } Composite(Race) { Composite(Sequence) { // Zu Fuss BTC.Run("NamedEventTrigger.GO.Option1Button") BTC.AbortEventListener("NamedEventTrigger.GO.Option2Button") BTC.Hide("GO.GO.Option1Button") BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.SpeechButton") BTC.Show("GO.GO.Home") BTC.Hide("GO.GO.SpeechOptions") BTC.SetBool("ChoosedWalking") } Composite(Sequence) { // Scooter BTC.Run("NamedEventTrigger.GO.Option2Button") BTC.AbortEventListener("NamedEventTrigger.GO.Option1Button") BTC.Hide("GO.GO.Option1Button") BTC.Hide("GO.GO.Option2Button") BTC.Hide("GO.GO.SpeechButton") BTC.Show("GO.GO.Home") BTC.Hide("GO.GO.SpeechOptions") BTC.SetBool("ChoosedDriving") } } } } BTC.Show("Depthkit.VIDEOS.27BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.27BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.27BaeckereiOutro") BTC.SetVoiceName("it-IT-GiuseppeMultilingualNeural") BTC.SynthesizeText("Hey Francesca, non dimenticare il vostro pranzo!") BTC.SpeechOutputEnded() BTC.Show("Depthkit.VIDEOS.29BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.29BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.29BaeckereiOutro") BTC.SynthesizeText("Ciao Francesca, divertitevi!") BTC.SpeechOutputEnded() RunTree("22_Geschaeft_Hide") } } Tree("22_Geschaeft_Hide") { Composite(Sequence) { BTC.SetStoryAVisited() Composite(Race) { Composite(Sequence) { // Go to scene 2.4 Slideshow BTC.CompareBool("ChoosedWalking") BTC.Run("LoadScene.NEXT.24Slideshow") } Composite(Sequence) { // Go to scene 2.5 Slideshow BTC.CompareBool("ChoosedDriving") BTC.Run("LoadScene.NEXT.25Slideshow") } } } }