672 lines
28 KiB
Plaintext
672 lines
28 KiB
Plaintext
Tree("Root") {
|
|
Composite(Sequence) {
|
|
BTC.InitializeSpeechManager()
|
|
BTC.SetSpeechRecognitionLanguage("it-IT")
|
|
BTC.SetVoiceName("it-IT-IsabellaMultilingualNeural")
|
|
|
|
Composite(Race) {
|
|
Composite(Sequence) {
|
|
// Error in Speech Service: Cancel BTC Trees
|
|
BTC.SpeechErrorOccured()
|
|
BTC.SetBool("error")
|
|
}
|
|
|
|
Composite(Sequence) {
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Intro")
|
|
}
|
|
}
|
|
|
|
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("26_Castello_Castelli_di_Bellinzona_Intro") {
|
|
// --- Castelli di Bellinzona - Intro ---
|
|
Composite(Sequence) {
|
|
Composite(Marathon) {
|
|
Composite(Sequence) {
|
|
BTC.Wait(1)
|
|
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
|
|
}
|
|
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroF1")
|
|
}
|
|
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroFidle2")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-2a")
|
|
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(10)
|
|
BTC.CompareUserSpeechInputStarted(false)
|
|
BTC.AbortSpeechEventListener()
|
|
BTC.StopSpeechIntentRecognition()
|
|
BTC.ClearPossbileSpeechIntents()
|
|
}
|
|
}
|
|
|
|
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle2")
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroF3")
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroFidle4")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-4a")
|
|
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.IntroFidle4")
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroF5")
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroFidle6")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-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.Hide("MediaPlayer.VIDEOS.IntroFidle6")
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroF7")
|
|
BTC.Run("MediaPlayer.VIDEOS.IntroFidle8")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-8a")
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Intro-U-8b")
|
|
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("Castelli_di_Bellinzona-Intro-U-8a")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.SetBool("InitOffeneFragen", false)
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
|
|
}
|
|
Composite(Sequence) {
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Intro-U-8b")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.SetBool("InitOffeneFragen")
|
|
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Selector 2: Intent nicht erkannt
|
|
Composite(Sequence) {
|
|
BTC.ClearPossbileSpeechIntents()
|
|
|
|
// Fallback Button
|
|
Composite(Marathon) {
|
|
BTC.Show("GO.GO.SpeechButton")
|
|
BTC.Set("TextMeshPro.GO.Option1Button", "text", "Sì.")
|
|
BTC.Show("GO.GO.Option1Button")
|
|
BTC.Set("TextMeshPro.GO.Option2Button", "text", "No.")
|
|
BTC.Show("GO.GO.Option2Button")
|
|
}
|
|
|
|
Composite(Race) {
|
|
Composite(Sequence) {
|
|
// Ja
|
|
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("InitOffeneFragen", false)
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
|
|
}
|
|
Composite(Sequence) {
|
|
// Nein
|
|
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("InitOffeneFragen")
|
|
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Race 2: User sagt nichts
|
|
Composite(Sequence) {
|
|
BTC.Wait(5)
|
|
BTC.CompareUserSpeechInputStarted(false)
|
|
BTC.AbortSpeechEventListener()
|
|
BTC.StopSpeechIntentRecognition()
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.SetBool("InitOffeneFragen", false)
|
|
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli")
|
|
}
|
|
}
|
|
|
|
// --- Castelli di Bellinzona - Outro ---
|
|
Composite(Marathon) {
|
|
BTC.Hide("GO.HINTS.SpeechErrorHint")
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
|
|
BTC.Hide("MediaPlayer.VIDEOS.CastelliBotoffeneF_FIdle02")
|
|
}
|
|
BTC.Run("MediaPlayer.VIDEOS.OutroF1")
|
|
BTC.Run("MediaPlayer.VIDEOS.OutroFidle2")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Outro-U-2a")
|
|
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.OutroFidle2")
|
|
|
|
Composite(Marathon) {
|
|
BTC.Run("MediaPlayer.VIDEOS.OutroF3")
|
|
|
|
Composite(Sequence) {
|
|
BTC.Wait(2.5)
|
|
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
|
|
}
|
|
}
|
|
|
|
BTC.SetStoryAVisited()
|
|
BTC.Run("LoadScene.NEXT.10SBB")
|
|
}
|
|
}
|
|
|
|
Tree("26_Castello_Castelli_di_Bellinzona_Geschichte_Castelli") {
|
|
// --- Castelli di Bellinzona - Geschichte Castelli ---
|
|
Composite(Sequence) {
|
|
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle8")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F1")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle02")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-2a")
|
|
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.GeschichteCastelli_FIdle02")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F3")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-4a")
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-4b")
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Geschichte_Castelli-U-5")
|
|
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) {
|
|
// User weiss es nicht (Nein)
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-4a")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
}
|
|
Composite(Sequence) {
|
|
// User weiss Antwort
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-4b")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F5")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
}
|
|
Composite(Sequence) {
|
|
// Sonstiges, freie Antwort
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Geschichte_Castelli-U-5")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F6")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Selector 2: Intent nicht erkannt
|
|
Composite(Sequence) {
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_F6")
|
|
BTC.Run("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Race 2: User sagt nichts
|
|
Composite(Sequence) {
|
|
BTC.Wait(5)
|
|
BTC.CompareUserSpeechInputStarted(false)
|
|
BTC.AbortSpeechEventListener()
|
|
BTC.StopSpeechIntentRecognition()
|
|
BTC.ClearPossbileSpeechIntents()
|
|
}
|
|
}
|
|
|
|
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
|
|
BTC.Hide("MediaPlayer.VIDEOS.GeschichteCastelli_FIdle04")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
|
|
|
|
|
|
// --- Castelli di Bellinzona - Chatbot Burgen ---
|
|
Composite(Marathon) {
|
|
BTC.SetPosition("GO.XRInteractionHandsSetup.XROrigin", 52.569, 0, 19.735)
|
|
BTC.SetPosition("GO.HANDMENU", 53.419, 0, 20.002)
|
|
BTC.RotateToAngle("GO.XRInteractionHandsSetup.XROrigin", 0)
|
|
BTC.RotateToAngle("GO.HANDMENU", 0)
|
|
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
|
|
BTC.Show("GO.Canvaspanoramatafelslideshow.SlideshowChatbot")
|
|
}
|
|
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF1")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
|
|
|
|
// TODO: U druckt Knopf
|
|
BTC.Wait(3)
|
|
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_Start")
|
|
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_02")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF3")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_04")
|
|
|
|
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkStart")
|
|
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_ThinkEnd")
|
|
|
|
BTC.SynthesizeText("Per difendere la città dai nemici. Vuoi saperne di più?")
|
|
BTC.SpeechOutputEnded()
|
|
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_04")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF6")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
|
|
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-7")
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-10")
|
|
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) {
|
|
// Ja
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-7")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF8")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_09")
|
|
|
|
BTC.SynthesizeText("La valle era chiusa da una grande muro. In questo modo nessuno poteva attraversare i passi alpini del Gottardo, del San Bernardino, della Novena e del Lucomagno. Bellinzona si trovava su un'importante via commerciale tra il nord e il sud dell'Europa.")
|
|
BTC.SpeechOutputEnded()
|
|
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
Composite(Sequence) {
|
|
// Nein
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-10")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF11")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
|
|
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen_Entscheidung_Offene_Fragen")
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Selector 2: Intent nicht erkannt
|
|
Composite(Sequence) {
|
|
BTC.ClearPossbileSpeechIntents()
|
|
|
|
// Fallback Button
|
|
Composite(Marathon) {
|
|
BTC.Show("GO.GO.SpeechButton")
|
|
BTC.Set("TextMeshPro.GO.Option1Button", "text", "Sì.")
|
|
BTC.Show("GO.GO.Option1Button")
|
|
BTC.Set("TextMeshPro.GO.Option2Button", "text", "No.")
|
|
BTC.Show("GO.GO.Option2Button")
|
|
}
|
|
|
|
Composite(Race) {
|
|
Composite(Sequence) {
|
|
// Ja
|
|
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.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF8")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_09")
|
|
|
|
BTC.SynthesizeText("La valle era chiusa da una grande muro. In questo modo nessuno poteva attraversare i passi alpini del Gottardo, del San Bernardino, della Novena e del Lucomagno. Bellinzona si trovava su un'importante via commerciale tra il nord e il sud dell'Europa.")
|
|
BTC.SpeechOutputEnded()
|
|
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
Composite(Sequence) {
|
|
// Nein
|
|
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.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenF11")
|
|
BTC.Run("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
|
|
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen_Entscheidung_Offene_Fragen")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Race 2: User sagt nichts
|
|
Composite(Sequence) {
|
|
BTC.Wait(5)
|
|
BTC.CompareUserSpeechInputStarted(false)
|
|
BTC.AbortSpeechEventListener()
|
|
BTC.StopSpeechIntentRecognition()
|
|
BTC.ClearPossbileSpeechIntents()
|
|
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Tree("26_Castello_Castelli_di_Bellinzona_Chatbot_Burgen_Entscheidung_Offene_Fragen") {
|
|
// --- Castelli di Bellinzona - Chatbot Burgen - Entscheidung Zeile 301 ---
|
|
Composite(Sequence) {
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-12a")
|
|
BTC.AddPossbileSpeechIntent("Castelli_di_Bellinzona-Chatbot_Burgen-U-12b")
|
|
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) {
|
|
// Ja
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-12a")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
Composite(Sequence) {
|
|
// Nein
|
|
BTC.CompareIntentID("Castelli_di_Bellinzona-Chatbot_Burgen-U-12b")
|
|
BTC.ClearPossbileSpeechIntents()
|
|
// Go to Outro
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Selector 2: Intent nicht erkannt
|
|
Composite(Sequence) {
|
|
BTC.ClearPossbileSpeechIntents()
|
|
|
|
// Fallback Button
|
|
Composite(Marathon) {
|
|
BTC.Show("GO.GO.SpeechButton")
|
|
BTC.Set("TextMeshPro.GO.Option1Button", "text", "Sì.")
|
|
BTC.Show("GO.GO.Option1Button")
|
|
BTC.Set("TextMeshPro.GO.Option2Button", "text", "No.")
|
|
BTC.Show("GO.GO.Option2Button")
|
|
}
|
|
|
|
Composite(Race) {
|
|
Composite(Sequence) {
|
|
// Ja
|
|
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")
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
Composite(Sequence) {
|
|
// Nein
|
|
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")
|
|
// Go To Outro
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// -- Race 2: User sagt nichts
|
|
Composite(Sequence) {
|
|
BTC.Wait(5)
|
|
BTC.CompareUserSpeechInputStarted(false)
|
|
BTC.AbortSpeechEventListener()
|
|
BTC.StopSpeechIntentRecognition()
|
|
BTC.ClearPossbileSpeechIntents()
|
|
|
|
RunTree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Tree("26_Castello_Castelli_di_Bellinzona_Castelli_Bot_offene_Fragen") {
|
|
// --- Castelli di Bellinzona - Castelli Bot offene Fragen ---
|
|
Composite(Sequence) {
|
|
Composite(Selector) {
|
|
Composite(Sequence) {
|
|
BTC.CompareBool("InitOffeneFragen")
|
|
Composite(Marathon) {
|
|
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle8")
|
|
BTC.SetPosition("GO.XRInteractionHandsSetup.XROrigin", 52.569, 0, 19.735)
|
|
BTC.SetPosition("GO.HANDMENU", 53.419, 0, 20.002)
|
|
BTC.RotateToAngle("GO.XRInteractionHandsSetup.XROrigin", 0)
|
|
BTC.RotateToAngle("GO.HANDMENU", 0)
|
|
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
|
|
BTC.Show("GO.Canvaspanoramatafelslideshow.SlideshowChatbot")
|
|
}
|
|
}
|
|
|
|
Composite(Marathon) {
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_09")
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_07")
|
|
BTC.Hide("MediaPlayer.VIDEOS.ChatbotBurgenFidle_12")
|
|
}
|
|
}
|
|
|
|
// TODO: KI-Chatbot implementieren
|
|
// Temporaerer Workaround: Info-Message
|
|
BTC.Run("MediaPlayer.VIDEOS.CastelliBotoffeneF_FIdle02")
|
|
|
|
Composite(Marathon) {
|
|
BTC.Set("TextMeshPro.HINTS.SpeechErrorTitle", "text", "Coming soon")
|
|
BTC.Set("TextMeshPro.HINTS.SpeechErrorText", "text", "Offenes Gespräch mit Chatbot\n ist noch in Arbeit. Stay tuned!")
|
|
BTC.Show("GO.HINTS.SpeechErrorHint")
|
|
BTC.Run("Timeline.TIMELINES.TimelineCastelloCh_atbot_End")
|
|
}
|
|
|
|
BTC.Wait(7)
|
|
}
|
|
} |