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; } }
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; } }