/* Creates the indirectionToEnd and indirectionToTheme-References for all Segments throughout all Themes */ public void BuildAllIndirectionSequences() { foreach (Theme theme in m_themes.Values) { theme.BuildSequencesToEndSegmentForAllSnippets(); foreach (Theme targetTheme in m_themes.Values) { if (theme != targetTheme && targetTheme.themeType != ThemeType.highlightLayer) { ThemeInterruptionBehavior themeInterruptionBehavior = Theme.GetThemeInterruptionBehavior(theme.themeType, targetTheme.themeType); if (Theme.ThemeInterruptionBehaviorRequiresEvaluationOfSegmentCompatibilities(themeInterruptionBehavior)) { theme.BuildSequencesToTargetThemeForAllSegments(this, targetTheme); } } } } }
public static bool ThemeInterruptionBehaviorRequiresEvaluationOfSegmentCompatibilities(ThemeInterruptionBehavior interruptionBehavior) { return(interruptionBehavior == ThemeInterruptionBehavior.immediately || interruptionBehavior == ThemeInterruptionBehavior.at_end_of_current_snippet || interruptionBehavior == ThemeInterruptionBehavior.layer || interruptionBehavior == ThemeInterruptionBehavior.never ); }
public static bool ThemeInterruptionBehaviorRequiresEvaluationOfSegmentCompatibilities(ThemeInterruptionBehavior interruptionBehavior) { return (interruptionBehavior == ThemeInterruptionBehavior.immediately || interruptionBehavior == ThemeInterruptionBehavior.at_end_of_current_snippet || interruptionBehavior == ThemeInterruptionBehavior.layer || interruptionBehavior == ThemeInterruptionBehavior.never ); }