Ejemplo n.º 1
0
 /// <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);
     }
 }
Ejemplo n.º 2
0
        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);
     }
 }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        //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);
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
 public void PlayMusicPack(MusicPack pack)
 {
     PlayMusicPack(pack, pack.delay, pack.snapshotTransitionTime, pack.applySnapshot);
 }
Ejemplo n.º 8
0
 public override void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true)
 {
     EditorMusic.Instance.PlayMusicPack(pack, delayTime, snapshotTransitionTime, applySnapshot);
 }
Ejemplo n.º 9
0
 public abstract void PlayMusicPack(MusicPack pack, float delayTime, float snapshotTransitionTime, bool applySnapshot = true);