Tree("Root") { Composite(Sequence) { BTC.InitializeSpeechManager() RunTree("10_SBB_Zugabteil_Szenenwahl_Selection") } } Tree("10_SBB_Zugabteil_Szenenwahl_Selection") { Composite(Sequence) { BTC.GetKeyDown("Return") Composite(Selector) { Composite(Sequence) { // Story A besucht BTC.StoryAVisited() Composite(Selector) { Composite(Sequence) { // Story A + B besucht BTC.StoryBVisited() Composite(Selector) { Composite(Sequence) { // Story A + B + C besucht BTC.StoryCVisited() // --- Zugabteil - Story Ende --- // ... BTC.GetKeyDown("Return") } Composite(Sequence) { // Story A + B besucht // Story C nicht besucht // --- Zugabteil - Repetition Intro C --- // ... BTC.GetKeyDown("Return") BTC.SetStoryCVisited() } } } Composite(Sequence) { // Story A besucht // Story B nicht besucht BTC.StoryCVisited() // Story A + C besucht // Story B nicht besucht // --- Zugabteil - Repetition Intro B --- // ... BTC.GetKeyDown("Return") } Composite(Sequence) { // Story A besucht // Story B + C nicht besucht // --- Zugabteil - Repetition Intro BC --- // ... BTC.GetKeyDown("Return") BTC.SetStoryBVisited() } } } Composite(Sequence) { // Story A nicht besucht BTC.StoryBVisited() Composite(Selector) { Composite(Sequence) { // Story B besucht // Story A nicht besucht BTC.StoryCVisited() // Story B + C besucht // Story A nicht besucht // --- Zugabteil - Repetition Intro A --- // ... BTC.GetKeyDown("Return") } Composite(Sequence) { // Story B besucht // Story A + C nicht besucht // --- Zugabteil - Repetition Intro AC --- // ... BTC.GetKeyDown("Return") } } } Composite(Sequence) { // Story A + B nicht besucht BTC.StoryCVisited() // Story C besucht // Story A + B nicht besucht // --- Zugabteil - Repetition Intro AB --- // ... BTC.GetKeyDown("Return") } Composite(Sequence) { // Nichts besucht BTC.GetKeyDown("Return") Composite(Selector) { Composite(Sequence) { BTC.CompareRepetitionVisitedCounter(0) // --- Zugabteil - Intro ABC erste --- // ... BTC.IncrementRepetitionVisitedCounter() BTC.GetKeyDown("Return") } Composite(Sequence) { // Erste Wiederholung BTC.CompareRepetitionVisitedCounter(1) // --- Zugabteil - Intro ABC zweite --- // ... BTC.IncrementRepetitionVisitedCounter() BTC.GetKeyDown("Return") } Composite(Sequence) { // Zweite Wiederholung BTC.CompareRepetitionVisitedCounter(2) // --- Zugabteil - Intro ABC dritte --- // ... BTC.GetKeyDown("Return") } } } } // First Selector } // Sequence }