Beispiel #1
0
        public SectionTransitionParam(int targetIndex, int currentIndex, MusicUnity music)
        {
            SectionIndex = targetIndex;

            SectionTransitionOverride overrideParam = music.SectionTransitionOverrides.Find(
                (SectionTransitionOverride ov) =>
            {
                return((ov.FromSectionIndex == currentIndex || ov.FromSectionIndex == -1) &&
                       (ov.ToSectionIndex == targetIndex || ov.ToSectionIndex == -1));
            });

            if (overrideParam != null)
            {
                SyncType   = overrideParam.SyncType;
                SyncFactor = overrideParam.SyncFactor;
                Transition = new MusicSection.TransitionParams(overrideParam.Transition);
            }
            else
            {
                SyncType   = music.Sections[currentIndex].SyncType;
                SyncFactor = music.Sections[currentIndex].SyncFactor;
                Transition = new MusicSection.TransitionParams(music.Sections[targetIndex].Transition);
            }

            if (SyncType == Music.SyncType.ExitPoint)
            {
                Transition.UseFadeOut = false;
            }
        }
Beispiel #2
0
 public SectionTransitionParam(int index, MusicUnity music, Music.SyncType syncType, int syncFactor = 1)
 {
     SectionIndex = index;
     SyncType     = syncType;
     SyncFactor   = syncFactor;
     Transition   = new MusicSection.TransitionParams(music.Sections[index].Transition);
     if (syncType == Music.SyncType.ExitPoint)
     {
         Transition.UseFadeOut = false;
     }
 }