Merge branch 'programming'

This commit is contained in:
Nadine Ganz 2025-07-17 10:07:38 +02:00
commit 41f90e97d9
15 changed files with 208289 additions and 4221 deletions

View File

@ -94,7 +94,7 @@ Tree("05_Tutorial") {
// -- Race 2: User sagt nichts // -- Race 2: User sagt nichts
Composite(Sequence) { Composite(Sequence) {
BTC.Wait(10) BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false) BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener() BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition() BTC.StopSpeechIntentRecognition()
@ -251,7 +251,7 @@ Tree("05_Tutorial") {
// -- Race 2: User sagt nichts // -- Race 2: User sagt nichts
Composite(Sequence) { Composite(Sequence) {
BTC.Wait(10) BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false) BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener() BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition() BTC.StopSpeechIntentRecognition()

View File

@ -1,6 +1,8 @@
Tree("Root") { Tree("Root") {
Composite(Sequence) { Composite(Sequence) {
BTC.InitializeSpeechManager() BTC.InitializeSpeechManager()
BTC.SetSpeechRecognitionLanguage("it-IT")
BTC.SetVoiceName("it-IT-IsabellaMultilingualNeural")
Composite(Race) { Composite(Race) {
Composite(Sequence) { Composite(Sequence) {
@ -10,7 +12,7 @@
} }
Composite(Sequence) { Composite(Sequence) {
BTC.SetVoiceName("de-DE-SeraphinaMultilingualNeural") BTC.Run("MediaPlayer.VIDEOS.IntroFidle1")
BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black") BTC.FadeIn("FadeScene.XRInteractionHandsSetup.Black")
RunTree("10_SBB_Zugabteil_Intro") RunTree("10_SBB_Zugabteil_Intro")
} }
@ -39,57 +41,102 @@ Tree("10_SBB_Zugabteil_Intro") {
Composite(Selector) { Composite(Selector) {
Composite(Sequence) { Composite(Sequence) {
BTC.NoStoriesVisited() BTC.NoStoriesVisited()
BTC.Wait(8)
BTC.Show("Depthkit.VIDEOS.Exposition0Zugabte") BTC.Hide("MediaPlayer.VIDEOS.IntroFidle1")
BTC.Run("Depthkit.VIDEOS.Exposition0Zugabte")
BTC.SynthesizeText("Wir begrüssen dich auf unserer Reise in die Sprache und Kultur der italienischsprachigen Schweiz.")
BTC.SpeechOutputEnded()
BTC.SynthesizeText("Bitte bleib während des ganzen Ausflugs sitzen. Die Steuerung erfolgt über die Sprache und über das Smartphone, das du in der rechten Hand hältst.")
BTC.SpeechOutputEnded()
BTC.SynthesizeText("Solltest du dich unwohl fühlen, dann schliesse die Augen und lege die VR-Brille ab.")
BTC.SpeechOutputEnded()
BTC.SynthesizeText("Francesca begleitet dich bei deinen Abenteuern in die italienischsprachige Schweiz. Dabei bestimmst du, wohin deine Reise geht, indem du auf Italienisch antwortest, selbst Fragen stellst oder Entscheide triffst. Wenn Du nicht weiterweisst, dann schau auf dein Smartphone. Damit kannst Du an manchen Orten übrigens auch fotografieren.")
BTC.SpeechOutputEnded()
BTC.SetVoiceName("de-DE-KatjaNeural")
BTC.Run("StudioEventEmitter.STATIC.SBBAlert")
BTC.SynthesizeText("Nächster Halt Bellinzona, Richtung Biasca, Gleis 2, Locarno, Gleis 3, Mendrisio, Gleis 4. Gute Reise!")
BTC.SpeechOutputEnded()
BTC.SetVoiceName("de-DE-SeraphinaMultilingualNeural")
BTC.SynthesizeText("In wenigen Minuten treffen wir in Bellinzona ein.")
BTC.SpeechOutputEnded()
BTC.SetSpeechRecognitionLanguage("it-IT")
BTC.SetVoiceName("it-IT-FabiolaNeural")
BTC.SynthesizeText("Tra pochi minuti arriveremo a Bellinzona. Il treno per Biasca è in partenza dal binario 2, quello per Locarno dal binario 3 e per Mendrisio dal binario 4. Buon viaggio!")
BTC.SpeechOutputEnded()
// --- Zugabteil - Exposition --- // --- Zugabteil - Exposition ---
BTC.Hide("Depthkit.VIDEOS.Exposition0Zugabte") BTC.Run("MediaPlayer.VIDEOS.ExpositionF1")
BTC.Show("Depthkit.VIDEOS.Exposition1Zugabte") BTC.Run("MediaPlayer.VIDEOS.ExpositionFidle2")
BTC.Run("Depthkit.VIDEOS.Exposition1Zugabte")
BTC.Hide("Depthkit.VIDEOS.Exposition1Zugabte") BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-2")
BTC.Show("Depthkit.VIDEOS.Exposition2Zugabte") BTC.StartSpeechIntentRecognition()
BTC.Run("Depthkit.VIDEOS.Exposition2Zugabte")
BTC.Hide("Depthkit.VIDEOS.Exposition2Zugabte") Composite(Race) {
BTC.Show("Depthkit.VIDEOS.Exposition3Zugabte") // -- Race 1: User sagt etwas
BTC.Run("Depthkit.VIDEOS.Exposition3Zugabte") Composite(Sequence) {
BTC.UserStartedSpeechInput()
BTC.Hide("Depthkit.VIDEOS.Exposition3Zugabte") Composite(Selector) {
BTC.Show("Depthkit.VIDEOS.Exposition4Zugabte") // -- Selector 1: Intent erkannt
BTC.Run("Depthkit.VIDEOS.Exposition4Zugabte") Composite(Sequence) {
BTC.SpeechIntentRecognized()
BTC.ClearPossbileSpeechIntents()
}
BTC.Hide("Depthkit.VIDEOS.Exposition4Zugabte") // -- Selector 2: Intent nicht erkannt
//BTC.Run("AudioSource.AUDIO.Exposition5Zugabte") Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
}
}
}
RunTree("10_SBB_Zugabteil_Szenenwahl_Selection") // -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
}
}
BTC.Hide("MediaPlayer.VIDEOS.ExpositionFidle2")
BTC.Run("MediaPlayer.VIDEOS.ExpositionF3")
BTC.Run("MediaPlayer.VIDEOS.ExpositionFidle4")
BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-4a")
BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-4b")
BTC.StartSpeechIntentRecognition()
Composite(Race) {
// -- Race 1: User sagt etwas
Composite(Sequence) {
BTC.UserStartedSpeechInput()
Composite(Selector) {
// -- Selector 1: Intent erkannt
Composite(Sequence) {
BTC.SpeechIntentRecognized()
// Intent erkannt
Composite(Race) {
Composite(Sequence) {
BTC.CompareIntentID("Zugabteil-Exposition-U-4a")
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story A Picknicken
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.20SBB")
}
Composite(Sequence) {
BTC.CompareIntentID("Zugabteil-Exposition-U-4b")
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story B Grotto
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.30SBB")
}
}
}
// -- Selector 2: Intent nicht erkannt
Composite(Sequence) {
BTC.ClearPossbileSpeechIntents()
BTC.Hide("MediaPlayer.VIDEOS.ExpositionFidle4")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
}
}
// -- Race 2: User sagt nichts
Composite(Sequence) {
BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false)
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
BTC.Hide("MediaPlayer.VIDEOS.ExpositionFidle4")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
}
} }
RunTree("10_SBB_Zugabteil_Szenenwahl_Selection") RunTree("10_SBB_Zugabteil_Szenenwahl_Selection")
@ -99,8 +146,6 @@ Tree("10_SBB_Zugabteil_Intro") {
Tree("10_SBB_Zugabteil_Szenenwahl_Selection") { Tree("10_SBB_Zugabteil_Szenenwahl_Selection") {
// --- Zugabteil - Szenenwahl Selection --- // --- Zugabteil - Szenenwahl Selection ---
Composite(Sequence) { Composite(Sequence) {
BTC.SetBool("handmenu_active", false)
Composite(Selector) { Composite(Selector) {
Composite(Sequence) { Composite(Sequence) {
// Story A besucht // Story A besucht
@ -110,48 +155,20 @@ Tree("10_SBB_Zugabteil_Szenenwahl_Selection") {
Composite(Sequence) { Composite(Sequence) {
// Story A + B besucht // Story A + B besucht
BTC.StoryBVisited() BTC.StoryBVisited()
// --- Story Ende ---
Composite(Selector) { BTC.Hide("MediaPlayer.VIDEOS.IntroFidle1")
Composite(Sequence) { BTC.Run("MediaPlayer.VIDEOS.StoryEndeF1")
// Story A + B + C besucht BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.StoryCVisited() BTC.Run("LoadScene.NEXT.00Menu")
// --- Zugabteil - Story Ende ---
BTC.Show("Depthkit.VIDEOS.StoryEnde1Zugabtei")
BTC.Run("Depthkit.VIDEOS.StoryEnde1Zugabtei")
BTC.Hide("Depthkit.VIDEOS.StoryEnde1Zugabtei")
// --- ENDE ---
}
Composite(Sequence) {
// Story A + B besucht
// Story C nicht besucht
// --- Zugabteil - Repetition Intro C ---
BTC.Show("Depthkit.VIDEOS.RepetitionIntroC1Z")
BTC.Run("Depthkit.VIDEOS.RepetitionIntroC1Z")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
}
} }
Composite(Sequence) { Composite(Sequence) {
// Story A besucht // Story A besucht
// Story B nicht besucht // Story B nicht besucht
BTC.StoryCVisited() // --- Repetition Intro B ---
BTC.Hide("MediaPlayer.VIDEOS.IntroFidle1")
// Story A + C besucht BTC.Run("MediaPlayer.VIDEOS.RepetitionIntroBF1")
// Story B nicht besucht BTC.Run("MediaPlayer.VIDEOS.RepetitionIntroBFi_2")
// --- Zugabteil - Repetition Intro B ---
BTC.Show("Depthkit.VIDEOS.RepetitionIntroB1Z")
BTC.Run("Depthkit.VIDEOS.RepetitionIntroB1Z")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
Composite(Sequence) {
// Story A besucht
// Story B + C nicht besucht
// --- Zugabteil - Repetition Intro BC ---
BTC.Show("Depthkit.VIDEOS.RepetitionIntroBC1")
BTC.Run("Depthkit.VIDEOS.RepetitionIntroBC1")
RunTree("10_SBB_Zugabteil_Szenenwahl") RunTree("10_SBB_Zugabteil_Szenenwahl")
} }
} }
@ -161,71 +178,18 @@ Tree("10_SBB_Zugabteil_Szenenwahl_Selection") {
// Story A nicht besucht // Story A nicht besucht
BTC.StoryBVisited() BTC.StoryBVisited()
Composite(Selector) { // Story B besucht
Composite(Sequence) { // Story A nicht besucht
// Story B besucht // --- Repetition Intro A ---
// Story A nicht besucht BTC.Hide("MediaPlayer.VIDEOS.IntroFidle1")
BTC.StoryCVisited() BTC.Run("MediaPlayer.VIDEOS.RepetitionIntroAF1")
BTC.Run("MediaPlayer.VIDEOS.RepetitionIntroAFi_2")
// Story B + C besucht
// Story A nicht besucht
// --- Zugabteil - Repetition Intro A ---
BTC.Show("Depthkit.VIDEOS.RepetitionIntroA1Z")
BTC.Run("Depthkit.VIDEOS.RepetitionIntroA1Z")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
Composite(Sequence) {
// Story B besucht
// Story A + C nicht besucht
// --- Zugabteil - Repetition Intro AC ---
BTC.Show("Depthkit.VIDEOS.RepetitionIntroAC1")
BTC.Run("Depthkit.VIDEOS.RepetitionIntroAC1")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
}
}
Composite(Sequence) {
// Story A + B nicht besucht
BTC.StoryCVisited()
// Story C besucht
// Story A + B nicht besucht
// --- Zugabteil - Repetition Intro AB ---
BTC.Show("Depthkit.VIDEOS.RepetitionIntroAB1")
BTC.Run("Depthkit.VIDEOS.RepetitionIntroAB1")
RunTree("10_SBB_Zugabteil_Szenenwahl") RunTree("10_SBB_Zugabteil_Szenenwahl")
} }
Composite(Sequence) { Composite(Sequence) {
// Nichts besucht // Story A + B nicht besucht
Composite(Selector) { RunTree("10_SBB_Zugabteil_Intro")
Composite(Sequence) {
BTC.CompareRepetitionVisitedCounter(0)
// --- Zugabteil - Intro ABC erste ---
BTC.Show("Depthkit.VIDEOS.IntroABCerste1Zuga")
BTC.Run("Depthkit.VIDEOS.IntroABCerste1Zuga")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
Composite(Sequence) {
// Erste Wiederholung
BTC.CompareRepetitionVisitedCounter(1)
// --- Zugabteil - Intro ABC zweite ---
BTC.Show("Depthkit.VIDEOS.IntroABCzweite1Zug")
BTC.Run("Depthkit.VIDEOS.IntroABCzweite1Zug")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
Composite(Sequence) {
// Zweite Wiederholung
BTC.CompareRepetitionVisitedCounter(2)
// --- Zugabteil - Intro ABC dritte ---
BTC.Show("Depthkit.VIDEOS.IntroABCdritte1Zug")
BTC.Run("Depthkit.VIDEOS.IntroABCdritte1Zug")
BTC.SetBool("handmenu_active")
RunTree("10_SBB_Zugabteil_Szenenwahl")
}
}
} }
} // First Selector } // First Selector
} // Sequence } // Sequence
@ -234,9 +198,15 @@ Tree("10_SBB_Zugabteil_Szenenwahl_Selection") {
Tree("10_SBB_Zugabteil_Szenenwahl") { Tree("10_SBB_Zugabteil_Szenenwahl") {
// --- Zugabteil - Szenenwahl --- // --- Zugabteil - Szenenwahl ---
Composite(Sequence) { Composite(Sequence) {
BTC.AddPossbileSpeechIntent("Zugabteil.Szenenwahl.3") Composite(Marathon) {
BTC.AddPossbileSpeechIntent("Zugabteil.Szenenwahl.5") BTC.Hide("MediaPlayer.VIDEOS.RepetitionIntroAFi_2")
BTC.AddPossbileSpeechIntent("Zugabteil.Szenenwahl.7") BTC.Hide("MediaPlayer.VIDEOS.RepetitionIntroBFi_2")
}
BTC.Run("MediaPlayer.VIDEOS.SzenenwahlF1")
BTC.Run("MediaPlayer.VIDEOS.SzenenwahlFidle2")
BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-4a")
BTC.AddPossbileSpeechIntent("Zugabteil-Exposition-U-4b")
BTC.StartSpeechIntentRecognition() BTC.StartSpeechIntentRecognition()
Composite(Race) { Composite(Race) {
@ -248,203 +218,63 @@ Tree("10_SBB_Zugabteil_Szenenwahl") {
// -- Selector 1: Intent erkannt // -- Selector 1: Intent erkannt
Composite(Sequence) { Composite(Sequence) {
BTC.SpeechIntentRecognized() BTC.SpeechIntentRecognized()
BTC.AbortEventListener("NamedGrabEvent.INTERACTABLES.VRBrille")
// Intent erkannt // Intent erkannt
Composite(Race) { Composite(Race) {
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Zugabteil.Szenenwahl.3") BTC.CompareIntentID("Zugabteil-Exposition-U-4a")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
// Load Scene: Story A Picknicken // Load Scene: Story A Picknicken
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.20SBB") BTC.Run("LoadScene.NEXT.20SBB")
} }
Composite(Sequence) { Composite(Sequence) {
BTC.CompareIntentID("Zugabteil.Szenenwahl.5") BTC.CompareIntentID("Zugabteil-Exposition-U-4b")
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
// Load Scene: Story B Grotto // Load Scene: Story B Grotto
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.30SBB") BTC.Run("LoadScene.NEXT.30SBB")
} }
Composite(Sequence) {
BTC.CompareIntentID("Zugabteil.Szenenwahl.7")
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story C Wandern
// ...
//BTC.SetStoryCVisited()
RunTree("10_SBB_Hide_Videos")
}
} }
} }
// -- Selector 2: Intent nicht erkannt // -- Selector 2: Intent nicht erkannt
Composite(Sequence) { Composite(Sequence) {
BTC.AbortEventListener("NamedGrabEvent.INTERACTABLES.VRBrille") BTC.ClearPossbileSpeechIntents()
// Fallback: nicht verstanden, wiederholen }
// ... }
BTC.SynthesizeText("Temo di non averla capita. Può ripetere, per favore? In alternativa, può usare l'aiuto sul cellulare che tiene nella mano sinistra.") }
BTC.SpeechOutputEnded()
BTC.StartSpeechIntentRecognition()
Composite(Race) {
Composite(Sequence) {
// Option 1: Spracheingabe
BTC.UserStartedSpeechInput()
BTC.SpeechIntentRecognized()
Composite(Race) {
Composite(Sequence) {
BTC.CompareIntentID("Zugabteil.Szenenwahl.3")
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story A Picknicken
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.20SBB")
}
Composite(Sequence) {
BTC.CompareIntentID("Zugabteil.Szenenwahl.5")
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story B Grotto
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.30SBB")
}
Composite(Sequence) {
BTC.CompareIntentID("Zugabteil.Szenenwahl.7")
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story C Wandern
// ...
//BTC.SetStoryCVisited()
RunTree("10_SBB_Hide_Videos")
}
}
}
Composite(Sequence) {
// Option 2: Handmenu
Composite(Marathon) {
BTC.Show("GO.HANDMENU.SpeechButton")
BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "picnic")
BTC.Show("GO.HANDMENU.Option1Button")
BTC.Set("TextMeshPro.HANDMENU.Option2Button", "text", "grotto")
BTC.Show("GO.HANDMENU.Option2Button")
BTC.Set("TextMeshPro.HANDMENU.Option3Button", "text", "escursione")
BTC.Show("GO.HANDMENU.Option3Button")
}
Composite(Race) {
Composite(Sequence) {
// picnic
BTC.Run("NamedEventTrigger.HANDMENU.Option1Button")
Composite(Marathon) {
BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Hide("GO.HANDMENU.Option2Button")
BTC.Hide("GO.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.SpeechButton")
BTC.Hide("GO.HANDMENU.SpeechOptions")
}
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story A Picknicken
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.20SBB")
}
Composite(Sequence) {
// grotto
BTC.Run("NamedEventTrigger.HANDMENU.Option2Button")
Composite(Marathon) {
BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Hide("GO.HANDMENU.Option2Button")
BTC.Hide("GO.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.SpeechButton")
BTC.Hide("GO.HANDMENU.SpeechOptions")
}
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story B Grotto
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.30SBB")
}
Composite(Sequence) {
// escursione
BTC.Run("NamedEventTrigger.HANDMENU.Option3Button")
Composite(Marathon) {
BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Hide("GO.HANDMENU.Option2Button")
BTC.Hide("GO.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.SpeechButton")
BTC.Hide("GO.HANDMENU.SpeechOptions")
}
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story C Wandern
// ...
//BTC.SetStoryCVisited()
RunTree("10_SBB_Hide_Videos")
}
} // Ende Race Buttons
} // Ende Option 2 Handmenu
} // Ende Race Optionen
} // Ende Sequence
} // Ende Selector
} // Ende Sequence 1
// -- Race 2: User sagt nichts // -- Race 2: User sagt nichts
Composite(Sequence) { Composite(Sequence) {
BTC.Wait(10) BTC.Wait(5)
BTC.CompareUserSpeechInputStarted(false) BTC.CompareUserSpeechInputStarted(false)
Decorator(Inverter) {
BTC.CompareBool("handmenu_active")
}
BTC.AbortSpeechEventListener() BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition() BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents() BTC.ClearPossbileSpeechIntents()
BTC.AbortEventListener("NamedGrabEvent.INTERACTABLES.VRBrille")
BTC.IncrementRepetitionVisitedCounter()
RunTree("10_SBB_Hide_Videos")
RunTree("10_SBB_Zugabteil_Szenenwahl_Selection")
} }
}
// -- Race 3: VR Brille in die Hand nehmen BTC.Hide("MediaPlayer.VIDEOS.SzenenwahlFidle2")
BTC.Run("MediaPlayer.VIDEOS.SzenenwahlF3")
BTC.Run("MediaPlayer.VIDEOS.SzenenwahlFidle4")
Composite(Race) {
// VR Brille nehmen
Composite(Sequence) { Composite(Sequence) {
BTC.Run("NamedGrabEvent.INTERACTABLES.VRBrille") BTC.Run("NamedGrabEvent.INTERACTABLES.VRBrille")
Decorator(Inverter) { // TODO: Minigame starten
BTC.CompareBool("handmenu_active") // Nach Minigame: zuruck zu Szenenwahl
}
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
BTC.IncrementRepetitionVisitedCounter()
// --- Bilder Bergell ---
//BTC.Run("LoadScene.NEXT.35Slideshow")
RunTree("10_SBB_Hide_Videos")
RunTree("10_SBB_Zugabteil_Szenenwahl_Selection")
} }
// -- Race 4: Hand Menu // Szenenwahl per Handmenu
Composite(Sequence) { Composite(Sequence) {
BTC.CompareBool("handmenu_active")
Composite(Marathon) { Composite(Marathon) {
BTC.Show("GO.HANDMENU.SpeechButton") BTC.Show("GO.HANDMENU.SpeechButton")
BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "picnic") BTC.Set("TextMeshPro.HANDMENU.Option1Button", "text", "picnic")
BTC.Show("GO.HANDMENU.Option1Button") BTC.Show("GO.HANDMENU.Option1Button")
BTC.Set("TextMeshPro.HANDMENU.Option2Button", "text", "grotto") BTC.Set("TextMeshPro.HANDMENU.Option2Button", "text", "grotto")
BTC.Show("GO.HANDMENU.Option2Button") BTC.Show("GO.HANDMENU.Option2Button")
BTC.Set("TextMeshPro.HANDMENU.Option3Button", "text", "escursione")
BTC.Show("GO.HANDMENU.Option3Button")
} }
Composite(Race) { Composite(Race) {
@ -454,18 +284,12 @@ Tree("10_SBB_Zugabteil_Szenenwahl") {
Composite(Marathon) { Composite(Marathon) {
BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option2Button") BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option2Button")
BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.Option1Button") BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Hide("GO.HANDMENU.Option2Button") BTC.Hide("GO.HANDMENU.Option2Button")
BTC.Hide("GO.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.SpeechButton") BTC.Hide("GO.HANDMENU.SpeechButton")
BTC.Hide("GO.HANDMENU.SpeechOptions") BTC.Hide("GO.HANDMENU.SpeechOptions")
} }
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story A Picknicken // Load Scene: Story A Picknicken
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.20SBB") BTC.Run("LoadScene.NEXT.20SBB")
@ -476,61 +300,21 @@ Tree("10_SBB_Zugabteil_Szenenwahl") {
Composite(Marathon) { Composite(Marathon) {
BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button") BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button")
BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.Option1Button") BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Hide("GO.HANDMENU.Option2Button") BTC.Hide("GO.HANDMENU.Option2Button")
BTC.Hide("GO.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.SpeechButton") BTC.Hide("GO.HANDMENU.SpeechButton")
BTC.Hide("GO.HANDMENU.SpeechOptions") BTC.Hide("GO.HANDMENU.SpeechOptions")
} }
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story B Grotto // Load Scene: Story B Grotto
BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black") BTC.FadeOut("FadeScene.XRInteractionHandsSetup.Black")
BTC.Run("LoadScene.NEXT.30SBB") BTC.Run("LoadScene.NEXT.30SBB")
} }
Composite(Sequence) { } // Race Buttons
// escursione } // Handmenu Ende
BTC.Run("NamedEventTrigger.HANDMENU.Option3Button") }
Composite(Marathon) { // TODO: Check if necessary
BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option1Button") //BTC.Hide("MediaPlayer.VIDEOS.SzenenwahlFidle4")
BTC.AbortEventListener("NamedEventTrigger.HANDMENU.Option2Button")
BTC.Hide("GO.HANDMENU.Option1Button")
BTC.Hide("GO.HANDMENU.Option2Button")
BTC.Hide("GO.HANDMENU.Option3Button")
BTC.Hide("GO.HANDMENU.SpeechButton")
BTC.Hide("GO.HANDMENU.SpeechOptions")
}
BTC.AbortSpeechEventListener()
BTC.StopSpeechIntentRecognition()
BTC.ClearPossbileSpeechIntents()
// Load Scene: Story C Wandern
// ...
//BTC.SetStoryCVisited()
RunTree("10_SBB_Hide_Videos")
}
}
}
} // Ende Race
}
}
Tree("10_SBB_Hide_Videos") {
Composite(Marathon) {
BTC.Hide("Depthkit.VIDEOS.RepetitionIntroC1Z")
BTC.Hide("Depthkit.VIDEOS.RepetitionIntroB1Z")
BTC.Hide("Depthkit.VIDEOS.RepetitionIntroBC1")
BTC.Hide("Depthkit.VIDEOS.RepetitionIntroA1Z")
BTC.Hide("Depthkit.VIDEOS.RepetitionIntroAC1")
BTC.Hide("Depthkit.VIDEOS.RepetitionIntroAB1")
BTC.Hide("Depthkit.VIDEOS.IntroABCerste1Zuga")
BTC.Hide("Depthkit.VIDEOS.IntroABCzweite1Zug")
BTC.Hide("Depthkit.VIDEOS.IntroABCdritte1Zug")
} }
} }

Binary file not shown.

View File

@ -0,0 +1,109 @@
fileFormatVersion: 2
guid: 73e54a212ecc57840bbebef70d9ffe62
ModelImporter:
serializedVersion: 22200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 0
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 1
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 0
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 1
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1090,26 +1090,6 @@ public class BTC : MonoBehaviour {
} }
} }
[Task]
public void StoryCVisited()
{
if (Task.getState == NodeState.FirstRun)
{
if (VisitedStories.StoryC)
{
Debug.Log("Story C was visited.");
Task.SetSucceeded();
return;
}
else
{
Debug.Log("Story C was not visited.");
Task.SetFailed();
return;
}
}
}
[Task] [Task]
public void SetStoryAVisited() public void SetStoryAVisited()
{ {
@ -1134,56 +1114,12 @@ public class BTC : MonoBehaviour {
} }
} }
[Task]
public void SetStoryCVisited()
{
if (Task.getState == NodeState.FirstRun)
{
VisitedStories.StoryC = true;
Debug.Log($"Set Visited Story C = {VisitedStories.StoryC}");
Task.SetSucceeded();
return;
}
}
[Task]
public void IncrementRepetitionVisitedCounter()
{
if (Task.getState == NodeState.FirstRun)
{
VisitedStories.RepetitionCounter++;
Debug.Log($"Set Visited Repetition Counter = {VisitedStories.RepetitionCounter}");
Task.SetSucceeded();
return;
}
}
[Task]
public void CompareRepetitionVisitedCounter(int number)
{
if (Task.getState == NodeState.FirstRun)
{
if (VisitedStories.RepetitionCounter == number)
{
Debug.Log($"Visited Repetition Counter equals {number}");
Task.SetSucceeded();
return;
}
else
{
Debug.Log($"Visited Repetition Counter not equals {number}");
Task.SetFailed();
return;
}
}
}
[Task] [Task]
public void NoStoriesVisited() public void NoStoriesVisited()
{ {
if (Task.getState == NodeState.FirstRun) if (Task.getState == NodeState.FirstRun)
{ {
if (!VisitedStories.StoryA && !VisitedStories.StoryB && !VisitedStories.StoryC) if (!VisitedStories.StoryA && !VisitedStories.StoryB)
{ {
Task.SetSucceeded(); Task.SetSucceeded();
return; return;

View File

@ -104,7 +104,6 @@ public class NamedAVProMediaPlayer : ComponentHandler
switch (nodeState) switch (nodeState)
{ {
case NodeState.FirstRun: case NodeState.FirstRun:
gameObject.SetActive(true);
if (_mediaPlayer != null) if (_mediaPlayer != null)
{ {
_mediaPlayer.OpenMedia(new MediaPath(videoPath, MediaPathType.RelativeToPersistentDataFolder), autoPlay: false); _mediaPlayer.OpenMedia(new MediaPath(videoPath, MediaPathType.RelativeToPersistentDataFolder), autoPlay: false);
@ -129,9 +128,8 @@ public class NamedAVProMediaPlayer : ComponentHandler
{ {
_mediaPlayer.Stop(); _mediaPlayer.Stop();
_mediaPlayer.CloseMedia(); _mediaPlayer.CloseMedia();
_mediaPlayer.ForceDispose();
} }
_mediaPlayer.ForceDispose();
} }
Task.SetSucceeded(); Task.SetSucceeded();

View File

@ -0,0 +1,50 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3384523045912799344
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5113645105102680181}
- component: {fileID: 5942046805704443072}
m_Layer: 0
m_Name: InternetVolumeLogger
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5113645105102680181
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3384523045912799344}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.1034061, y: 0.7802242, z: 0.38190326}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5942046805704443072
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3384523045912799344}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f56b22124715447a2bf156c1628f37de, type: 3}
m_Name:
m_EditorClassIdentifier:
logInterval: 5
logFileName: internet_volume_log.txt
enableLogging: 1
showInConsole: 1

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9a9ef559475fc4d19b0bb4c19950975b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,393 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1064606778807215308
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6269733995156948630}
- component: {fileID: 2165549077798221024}
m_Layer: 0
m_Name: video-container-sitting
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6269733995156948630
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1064606778807215308}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.63, y: -0.03, z: 2.355}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2289990727467313155}
- {fileID: 4559309369526134598}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2165549077798221024
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1064606778807215308}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 96a2d527c1352854b98e30bfd2a38812, type: 3}
m_Name:
m_EditorClassIdentifier:
target: {fileID: 0}
lookAxis: 2
allowedRotationAxis: 1
--- !u!1 &7357111416024985209
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2289990727467313155}
- component: {fileID: 2466982521282103696}
m_Layer: 0
m_Name: MediaPlayer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2289990727467313155
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7357111416024985209}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6269733995156948630}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2466982521282103696
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7357111416024985209}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 638c870cac4da414fba921606d504407, type: 3}
m_Name:
m_EditorClassIdentifier:
_mediaSource: 1
_mediaReference: {fileID: 0}
_mediaPath:
_pathType: 2
_path: Story_A_Picknicken-Start-F-1-ap-tb.mp4
_fallbackMediaHints:
transparency: 1
alphaPacking: 1
stereoPacking: 0
_autoOpen: 1
_autoPlayOnStart: 1
_loop: 1
_audioVolume: 1
_audioBalance: 0
_audioMuted: 0
_playbackRate: 1
_useResampler: 0
_resampleMode: 0
_resampleBufferSize: 5
_videoMapping: 0
_textureFilterMode: 1
_textureWrapMode: 1
_textureAnisoLevel: 0
_sideloadSubtitles: 0
_subtitlePath:
_pathType: 2
_path:
_audioHeadTransform: {fileID: 0}
_audioFocusEnabled: 0
_audioFocusTransform: {fileID: 0}
_audioFocusWidthDegrees: 90
_audioFocusOffLevelDB: 0
_httpHeaders:
httpHeaders: []
_keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
_events:
m_PersistentCalls:
m_Calls: []
_eventMask: -1
_pauseMediaOnAppPause: 1
_playMediaOnAppUnpause: 1
_persistent: 0
_forceFileFormat: 0
_optionsWindows:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
videoApi: 0
useHardwareDecoding: 1
useRendererSync: 1
useTextureMips: 0
use10BitTextures: 0
hintAlphaChannel: 0
useLowLatency: 0
useCustomMovParser: 0
useHapNotchLC: 0
useStereoDetection: 1
useTextTrackSupport: 1
useFacebookAudio360Support: 1
useAudioDelay: 0
forceAudioOutputDeviceName:
preferredFilters: []
_audioMode: 0
audio360ChannelMode: 0
startWithHighestBitrate: 0
useLowLiveLatency: 0
parallelFrameCount: 3
prerollFrameCount: 4
useUnityAudio: 0
enableAudio360: 0
_options_macOS:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
textureFormat: 0
_audioMode: 0
_flags: 0
maximumPlaybackRate: 2
_preferredPeakBitRate: 0
_preferredPeakBitRateUnits: 1
_preferredForwardBufferDuration: 0
_preferredMaximumResolution: 0
_customPreferredMaximumResolution: {x: 0, y: 0}
_options_iOS:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
textureFormat: 0
_audioMode: 0
_flags: 0
maximumPlaybackRate: 2
_preferredPeakBitRate: 0
_preferredPeakBitRateUnits: 1
_preferredForwardBufferDuration: 0
_preferredMaximumResolution: 0
_customPreferredMaximumResolution: {x: 0, y: 0}
_options_tvOS:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
textureFormat: 0
_audioMode: 0
_flags: 0
maximumPlaybackRate: 2
_preferredPeakBitRate: 0
_preferredPeakBitRateUnits: 1
_preferredForwardBufferDuration: 0
_preferredMaximumResolution: 0
_customPreferredMaximumResolution: {x: 0, y: 0}
_options_visionOS:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
textureFormat: 0
_audioMode: 0
_flags: 0
maximumPlaybackRate: 2
_preferredPeakBitRate: 0
_preferredPeakBitRateUnits: 1
_preferredForwardBufferDuration: 0
_preferredMaximumResolution: 0
_customPreferredMaximumResolution: {x: 0, y: 0}
_optionsAndroid:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
textureFormat: 0
_generateMipmaps: 0
_audioMode: 0
_preferredMaximumResolution: 0
_customPreferredMaximumResolution: {x: 0, y: 0}
_preferredPeakBitRate: 0
_preferredPeakBitRateUnits: 1
videoApi: 2
showPosterFrame: 0
audio360ChannelMode: 0
audio360LatencyMS: 0
preferSoftwareDecoder: 0
forceRtpTCP: 0
forceEnableMediaCodecAsynchronousQueueing: 0
fileOffset: 0
startWithHighestBitrate: 0
minBufferMs: 50000
maxBufferMs: 50000
bufferForPlaybackMs: 2500
bufferForPlaybackAfterRebufferMs: 5000
useFastOesPath: 0
audioOutput: 0
blitTextureFiltering: 0
forceEnableMediaCodecAsyncQueueing: 0
enableAudio360: 0
_optionsWindowsUWP:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
useHardwareDecoding: 1
useRendererSync: 1
useTextureMips: 0
use10BitTextures: 0
hintOutput10Bit: 0
useLowLatency: 0
videoApi: 1
_audioMode: 0
audio360ChannelMode: 0
startWithHighestBitrate: 0
useLowLiveLatency: 0
_optionsWebGL:
httpHeaders:
httpHeaders: []
keyAuth:
keyServerToken:
overrideDecryptionKeyBase64:
externalLibrary: 0
useTextureMips: 0
m_VideoPath:
m_VideoLocation: 2
--- !u!1 &8252953152293453768
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4559309369526134598}
- component: {fileID: 3316783114650547420}
- component: {fileID: 7010469647222945656}
- component: {fileID: 6183954605900507905}
m_Layer: 0
m_Name: video-actor
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4559309369526134598
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8252953152293453768}
serializedVersion: 2
m_LocalRotation: {x: -0.00000006705522, y: 0.7071068, z: -0.0000000745058, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 6269733995156948630}
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
--- !u!33 &3316783114650547420
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8252953152293453768}
m_Mesh: {fileID: -8475537623380098382, guid: 73e54a212ecc57840bbebef70d9ffe62, type: 3}
--- !u!23 &7010469647222945656
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8252953152293453768}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 3305671f5a40919428aa7935750308d7, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!114 &6183954605900507905
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8252953152293453768}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6d1977a52888584496b1acc7e998011, type: 3}
m_Name:
m_EditorClassIdentifier:
_media: {fileID: 2466982521282103696}
_automaticStereoPacking: 1
_overrideStereoPacking: 0
_stereoRedGreenTint: 0
_defaultTexture: {fileID: 0}
_renderer: {fileID: 7010469647222945656}
_materialIndex: -1
_texturePropertyName: _MainTex
_offset: {x: 0, y: 0}
_scale: {x: 1, y: 1}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6cbe3b114f14984419762f5100e9aa16
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -16,11 +16,18 @@ public class LevelManager : MonoBehaviour
} }
[SerializeField] [SerializeField]
private string jumpPointGrottoEssen; string jumpPointGrottoEssen;
[SerializeField] [SerializeField]
private string jumpPointGrottoKueche; string jumpPointGrottoKueche;
[SerializeField]
float fadeDuration = 2f;
[SerializeField]
private GameObject _fadeScreenObj;
private Material _fadeMaterial;
// A list of LevelEntry objects that can be filled in the inspector // A list of LevelEntry objects that can be filled in the inspector
public List<LevelEntry> levels = new List<LevelEntry>(); public List<LevelEntry> levels = new List<LevelEntry>();
@ -47,6 +54,10 @@ public class LevelManager : MonoBehaviour
entry.levelButton.onClick.AddListener(() => SetEntryLevel(goToJumpPoint)); entry.levelButton.onClick.AddListener(() => SetEntryLevel(goToJumpPoint));
} }
} }
_fadeScreenObj = GameObject.FindWithTag("MainCamera").transform.GetChild(0).gameObject;
Renderer _renderer = _fadeScreenObj?.GetComponent<Renderer>();
_fadeMaterial = _renderer?.sharedMaterial;
} }
// This method is called when a button is clicked, and loads the given scene by name // This method is called when a button is clicked, and loads the given scene by name
@ -57,6 +68,8 @@ public class LevelManager : MonoBehaviour
IEnumerator LoadAsyncScene(string sceneName) IEnumerator LoadAsyncScene(string sceneName)
{ {
yield return StartCoroutine(FadeOut());
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName); AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName);
// Wait until the asynchronous scene fully loads // Wait until the asynchronous scene fully loads
@ -66,6 +79,26 @@ public class LevelManager : MonoBehaviour
} }
} }
IEnumerator FadeOut()
{
_fadeScreenObj.SetActive(true);
float elapsedTime = 0f;
Color color = _fadeMaterial.color;
while (elapsedTime < fadeDuration)
{
elapsedTime += Time.deltaTime;
float alpha = Mathf.Lerp(0f, 1f, elapsedTime / fadeDuration);
color.a = alpha;
_fadeMaterial.color = color;
yield return null;
}
// Ensure the final alpha value is set
color.a = 1f;
_fadeMaterial.color = color;
}
public void SetEntryLevel(string entryPoint) public void SetEntryLevel(string entryPoint)
{ {
if (string.IsNullOrEmpty(entryPoint)) if (string.IsNullOrEmpty(entryPoint))

View File

@ -29,6 +29,26 @@
"Risotto." "Risotto."
] ]
}, },
{
"intentID": "Zugabteil-Exposition-U-2",
"intentSentences": [
"Sto bene, grazie."
]
},
{
"intentID": "Zugabteil-Exposition-U-4a",
"intentSentences": [
"Picnic.",
"Scelgo il picnic."
]
},
{
"intentID": "Zugabteil-Exposition-U-4b",
"intentSentences": [
"Grotto.",
"Scelgo il grotto."
]
},
{ {
"intentID": "Zugabteil.Szenenwahl.3", "intentID": "Zugabteil.Szenenwahl.3",
"intentSentences": [ "intentSentences": [

View File

@ -6,6 +6,4 @@ public static class VisitedStories
{ {
public static bool StoryA = false; public static bool StoryA = false;
public static bool StoryB = false; public static bool StoryB = false;
public static bool StoryC = false;
public static int RepetitionCounter = 0;
} }