/// <summary> /// Loads all content packs for SimpleSoundManager /// </summary> private void loadContentPacks() { MusicManager = new MusicManager(); foreach (IContentPack contentPack in this.Helper.ContentPacks.GetOwned()) { this.Monitor.Log($"Reading content pack: {contentPack.Manifest.Name} {contentPack.Manifest.Version} from {contentPack.DirectoryPath}"); MusicPack musicPack = new MusicPack(contentPack); MusicManager.addMusicPack(musicPack, true, true); } }
public void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true) { if (ApplyMusicRoutine != null) { StopCoroutine(ApplyMusicRoutine); ApplyMusicRoutine = null; } ApplyMusicRoutine = StartCoroutine(ApplyMusicPack(pack, delayTime, snapshotTransitionTime, applySnapshot)); }
/// <summary>Load the available music packs.</summary> public void LoadMusicPacks() { foreach (IContentPack contentPack in this.Helper.ContentPacks.GetOwned()) { MusicPack musicPack = new MusicPack(contentPack); musicPack.SongInformation.initializeMenuMusic(); musicPack.LoadSettings(); musicManager.addMusicPack(musicPack, true, true); } }
public override void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true) { var cue = CreateCueFromPack(pack); GameManager.instance.AudioManager.ApplyMusicCue(cue, delayTime, snapshotTransitionTime, applySnapshot); if (applySnapshot) { var snapshot = Music.GetSnapshot(pack.Snapshot); snapshot.TransitionTo(snapshotTransitionTime); } //TODO : TRY REBUILDING A BETTER METHOD CollectUnusedCues(); }
//NOTE: THIS CREATES AN OBJECT THAT NEEDS TO BE DELETED LATER public MusicCue CreateCueFromPack(MusicPack pack) { LoadAssets(); var cue = ScriptableObject.CreateInstance <MusicCue>(); MusicCue.MusicChannelInfo[] channelInfos = new MusicCue.MusicChannelInfo[6]; channelInfos[0] = new MusicCue.MusicChannelInfo(); channelInfos[1] = new MusicCue.MusicChannelInfo(); channelInfos[2] = new MusicCue.MusicChannelInfo(); channelInfos[3] = new MusicCue.MusicChannelInfo(); channelInfos[4] = new MusicCue.MusicChannelInfo(); channelInfos[5] = new MusicCue.MusicChannelInfo(); SetInfoAudioClip(channelInfos[0], pack.MainTrack); SetInfoSync(channelInfos[0], (MusicChannelSync)(int)pack.MainTrackSync); SetInfoAudioClip(channelInfos[1], pack.MainAltTrack); SetInfoSync(channelInfos[1], (MusicChannelSync)(int)pack.MainAltTrackSync); SetInfoAudioClip(channelInfos[2], pack.ActionTrack); SetInfoSync(channelInfos[2], (MusicChannelSync)(int)pack.ActionTrackSync); SetInfoAudioClip(channelInfos[3], pack.SubTrack); SetInfoSync(channelInfos[3], (MusicChannelSync)(int)pack.SubTrackSync); SetInfoAudioClip(channelInfos[4], pack.TensionTrack); SetInfoSync(channelInfos[4], (MusicChannelSync)(int)pack.TensionTrackSync); SetInfoAudioClip(channelInfos[5], pack.ExtraTrack); SetInfoSync(channelInfos[5], (MusicChannelSync)(int)pack.ExtraTrackSync); SetChannelInfos(cue, channelInfos); SetAlternatives(cue, new MusicCue.Alternative[0]); SetSnapshot(cue, Music.GetSnapshot(pack.Snapshot)); CreatedCues.Add(cue); return(cue); }
IEnumerator ApplyMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true) { yield return(new WaitForSeconds(delayTime)); foreach (var source in Sources) { source.Stop(); source.clip = null; } ApplyClipToSource(Action, pack.ActionTrack); ApplyClipToSource(Extra, pack.ExtraTrack); ApplyClipToSource(Main, pack.MainTrack); ApplyClipToSource(MainAlt, pack.MainAltTrack); ApplyClipToSource(Sub, pack.SubTrack); ApplyClipToSource(Tension, pack.TensionTrack); if (applySnapshot) { var snapshot = Music.GetSnapshot(pack.Snapshot); snapshot.TransitionTo(snapshotTransitionTime); } ApplyMusicRoutine = null; }
public void PlayMusicPack(MusicPack pack) { PlayMusicPack(pack, pack.delay, pack.snapshotTransitionTime, pack.applySnapshot); }
public override void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true) { EditorMusic.Instance.PlayMusicPack(pack, delayTime, snapshotTransitionTime, applySnapshot); }
public abstract void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true);