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_Baeckerei_Intro") //RunTree("22_Geschaeft_Story_A_Picknicken_Mitnehmen") } } 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.Hide("GO.GO.SpeechOptions") } } } Tree("22_Geschaeft_Story_A_Picknicken_Baeckerei_Intro") { Composite(Sequence) { Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroVidl_01") BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroF2") } Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroFidl_03") BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_01") } BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroV4") Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroVidl_06") BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroFidl_03") } BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroF5") Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroFidl_07") BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_06") } BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroV8") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroVidl_09") BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-2") // TODO: Update Intent ID 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.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_09") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroV10") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroVidl_11") BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-2") // TODO: Update Intent ID 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.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_11") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroV12") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroVidl_13") BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-2") // TODO: Update Intent ID 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.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_13") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroV14") Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroVidl_15") BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroFidl_07") } BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroFidl_16") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Intro.3") // TODO: Update Intent ID 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 --- Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroFidl_16") BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_15") } Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.NachfrageBestellun_FIdle01") BTC.Run("MediaPlayer.VIDEOS.NachfrageBestellun_V3") } BTC.Run("MediaPlayer.VIDEOS.NachfrageBestellun_VIdle4") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Nachfrage_Bestellung.2") // TODO: Update IntentID 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 --- Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.NachfrageBestellun_VIdle4") BTC.Hide("MediaPlayer.VIDEOS.NachfrageBestellun_FIdle01") } Composite(Marathon) { Composite(Sequence) { BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideV5") BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroVidl_06") } BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideF3") } Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_06") BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideFIdle4") } BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideV6") Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideVIdle10") BTC.Hide("MediaPlayer.VIDEOS.BestellungBegleite_BeideFIdle4") } BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideF11") Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.BestellungBegleite_BeideVIdle10") BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideFIdle12") } BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideV13") Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.BestellungBegleite_BeideFIdle12") BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideVIdle14") } Composite(Marathon) { BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideF15") Composite(Sequence) { BTC.Wait(2) BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") } } RunTree("22_Geschaeft_Story_A_Picknicken_Baeckerei_Outro") } } } // erste Race user sagt nichts } // erste grosse race } } Tree("22_Geschaeft_Story_A_Picknicken_Mitnehmen") { // --- Story A Picknicken - Mitnehmen --- Composite(Sequence) { Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.NachfrageBestellun_VIdle4") BTC.Hide("MediaPlayer.VIDEOS.NachfrageBestellun_FIdle01") BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroVidl_15") BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroFidl_16") } BTC.Run("MediaPlayer.VIDEOS.BaeckereiIntroFidl_16") BTC.Run("MediaPlayer.VIDEOS.MitnehmenV1") // --- Story A Picknicken - Bezahlen einzeln --- BTC.Hide("MediaPlayer.VIDEOS.BaeckereiIntroFidl_16") BTC.Run("MediaPlayer.VIDEOS.BezahleneinzelnFid_01") BTC.Run("MediaPlayer.VIDEOS.BezahleneinzelnV2") BTC.Run("MediaPlayer.VIDEOS.BezahleneinzelnVid_03") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Nachfrage_Bestellung.2") // TODO: Update IntentID 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.Hide("MediaPlayer.VIDEOS.BezahleneinzelnVid_03") BTC.Run("MediaPlayer.VIDEOS.BezahleneinzelnV4") BTC.Run("MediaPlayer.VIDEOS.BezahleneinzelnVid_05") // Bezahlung mit Handy User Composite(Race) { Composite(Sequence) { BTC.Set("Collider.STATIC.Kartenlesegeraet", "otherTag", "Smartphone") BTC.Run("Collider.STATIC.Kartenlesegeraet") BTC.SetBool("UserPayed") } Composite(Sequence) { BTC.Wait(5) BTC.SetBool("UserPayed", false) } } // Check if user payed Composite(Race) { Composite(Sequence) { BTC.CompareBool("UserPayed") BTC.Hide("MediaPlayer.VIDEOS.BezahleneinzelnVid_05") BTC.Run("MediaPlayer.VIDEOS.BezahleneinzelnV6") BTC.Run("MediaPlayer.VIDEOS.BezahleneinzelnVid_07") BTC.AddPossbileSpeechIntent("Story_A_Picknicken.Nachfrage_Bestellung.2") // TODO: Update IntentID 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() } } RunTree("22_Geschaeft_Story_A_Picknicken_Dank_Einkauf") } Composite(Sequence) { // --- Story A Picknicken - Nachfrage Bezahlung --- BTC.CompareBool("UserPayed", false) BTC.Hide("MediaPlayer.VIDEOS.BezahleneinzelnFid_01") BTC.Run("MediaPlayer.VIDEOS.NachfrageBezahlung_FIdle01") BTC.Hide("MediaPlayer.VIDEOS.BezahleneinzelnVid_05") BTC.Run("MediaPlayer.VIDEOS.NachfrageBezahlung_V2") BTC.Run("MediaPlayer.VIDEOS.NachfrageBezahlung_VIdle03") // Bezahlung Handy User Composite(Race) { Composite(Sequence) { BTC.Set("Collider.STATIC.Kartenlesegeraet", "otherTag", "Smartphone") BTC.Run("Collider.STATIC.Kartenlesegeraet") BTC.SetBool("UserPayed2") } Composite(Sequence) { BTC.Wait(5) BTC.SetBool("UserPayed2", false) } } // Race Composite(Race) { Composite(Sequence) { BTC.CompareBool("UserPayed2") RunTree("22_Geschaeft_Story_A_Picknicken_Dank_Einkauf") } Composite(Sequence) { BTC.CompareBool("UserPayed2", false) BTC.Hide("MediaPlayer.VIDEOS.NachfrageBezahlung_FIdle01") BTC.Hide("MediaPlayer.VIDEOS.NachfrageBezahlung_VIdle03") BTC.Run("MediaPlayer.VIDEOS.BestellungBegleite_BeideVIdle10") BTC.Run("MediaPlayer.VIDEOS.NachfrageBezahlung_F4") BTC.Run("MediaPlayer.VIDEOS.NachfrageBezahlung_F6") } } RunTree("22_Geschaeft_Story_A_Picknicken_Dank_Einkauf") } // Sequence User not payed } // Race Check User payed first time } } Tree("22_Geschaeft_Story_A_Picknicken_Dank_Einkauf") { // --- Story A Picknicken - Dank Einkauf --- Composite(Sequence) { Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.BezahleneinzelnVid_07") BTC.Hide("MediaPlayer.VIDEOS.BezahleneinzelnFid_01") BTC.Hide("MediaPlayer.VIDEOS.NachfrageBezahlung_FIdle01") BTC.Hide("MediaPlayer.VIDEOS.NachfrageBezahlung_VIdle03") BTC.Hide("MediaPlayer.VIDEOS.BestellungBegleite_BeideVIdle10") } // --- old 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") BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") RunTree("22_Geschaeft_Story_A_Picknicken_Baeckerei_Outro") } } Tree("22_Geschaeft_Story_A_Picknicken_Baeckerei_Outro") { // --- Story A Picknicken - Baeckerei Outro --- Composite(Sequence) { Composite(Marathon) { BTC.Hide("MediaPlayer.VIDEOS.BestellungBegleite_BeideVIdle14") } BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black") BTC.Show("Depthkit.VIDEOS.0BaeckereiOutro") Composite(Marathon) { BTC.Run("Depthkit.VIDEOS.0BaeckereiOutro") Composite(Sequence) { BTC.Wait(3) BTC.Show("Animator.AnimatorBaeckereiT") } } 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") // Enrico geht, Tuere schliesst BTC.StopSound("StudioEventEmitter.STATIC.DraussenAmbi") 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.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.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.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.Hide("GO.GO.SpeechOptions") BTC.SetBool("ChoosedDriving") } } } } BTC.Show("Depthkit.VIDEOS.27BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.27BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.27BaeckereiOutro") // TODO: Videos ersetzen 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.Show("Depthkit.VIDEOS.30BaeckereiOutro") BTC.Run("Depthkit.VIDEOS.30BaeckereiOutro") BTC.Hide("Depthkit.VIDEOS.30BaeckereiOutro") RunTree("22_Geschaeft_Hide") } } Tree("22_Geschaeft_Hide") { Composite(Sequence) { BTC.SetStoryAVisited() BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") Composite(Race) { Composite(Sequence) { // Go to scene 2.4 Slideshow BTC.CompareBool("ChoosedWalking") BTC.Run("LoadScene.NEXT.26Castello") } Composite(Sequence) { // Go to scene 2.5 Slideshow BTC.CompareBool("ChoosedDriving") BTC.Run("LoadScene.NEXT.26Castello") } } } }