// play a track w/crossfade
 public void PlayMusicTrack(AudioTrackEnum trackId, bool loop = false)
 {
     if (Parameters.Tracks.Count > 0)
     {
         if (currentMusicPlayerId >= 0)
         {
             AudioSource actualPlayer = musicPlayers[currentMusicPlayerId].actualPlayer;
             if (actualPlayer.isPlaying)
             {
                 //Debug.Log("Stopping track " + currentTrack.ToString());
                 // stop the currently playing track
                 StartCoroutine(FadeMusicTrack(currentMusicPlayerId, false));
             }
         }
         //Debug.Log("Playing track " + trackId.ToString());
         if (MusicTracks.ContainsKey(trackId))
         {
             currentMusicPlayerId = (currentMusicPlayerId + 1) % musicPlayers.Length;
             currentTrack         = trackId;
             StartCoroutine(FadeMusicTrack(currentMusicPlayerId, true, loop));
         }
         else
         {
             GlobalManager.MInstantMessage.DeliverMessage(InstantMessageType.MusicTrackPlayed, this, trackId);
         }
     }
     else
     {
         GlobalManager.MInstantMessage.DeliverMessage(InstantMessageType.MusicTrackPlayed, this, trackId);
     }
 }
        } = 5 * 60;                                                         // 5 minutes

        protected override void PreparePlaylist(MusicTracks tracks)
        {
            const double fadeInDuration  = 5,
                         fadeOutDuration = 10,
                         volume          = 0.4;

            tracks.Add(
                new MusicTrack(
                    "Gameplay1",
                    isLooped: false,
                    fadeInDuration: fadeInDuration,
                    fadeOutDuration: fadeOutDuration,
                    volume: volume))
            .Add(
                new MusicTrack(
                    "Gameplay2",
                    isLooped: false,
                    fadeInDuration: fadeInDuration,
                    fadeOutDuration: fadeOutDuration,
                    volume: volume))
            .Add(
                new MusicTrack(
                    "Gameplay3",
                    isLooped: false,
                    fadeInDuration: fadeInDuration,
                    fadeOutDuration: fadeOutDuration,
                    volume: volume));
        }
Beispiel #3
0
        protected sealed override void PrepareProto()
        {
            base.PrepareProto();
            var tracks = new MusicTracks();

            try
            {
                this.PreparePlaylist(tracks);

                if (tracks.Count == 0)
                {
                    throw new Exception("No music tracks added into the playlist");
                }

                foreach (var track in tracks)
                {
                    if (track == null)
                    {
                        throw new Exception("Null reference provided as track");
                    }

                    if (!Api.Shared.IsFileExists(track.MusicResource))
                    {
                        throw new Exception("Music track doesn't exist: " + track.MusicResource);
                    }
                }

                this.Tracks = tracks.AsReadOnly();
            }
            catch
            {
                this.Tracks = new List <MusicTrack>(0).AsReadOnly();
                throw;
            }
        }
    public void SetAndPlayMusicTrack(MusicTracks type, float vol = 1f)
    {
        if (vol > 1f || vol < 0f)
        {
            musicVolume = 1f;
        }

        musicVolume = vol;

        switch (type)
        {
        case MusicTracks.Background:
            currentSong = backgroundMusic;
            break;

        case MusicTracks.Menu:
            currentSong = menuMusic;
            break;

        case MusicTracks.GameOver:
            currentSong = gameOverMusic;
            break;
        }

        PlayMusic();
    }
 public void PlayTrack(MusicTracks track)
 {
     // I'm enabling / disabling the gameobject just so you can see what music tracks are active
     // in the scene's hierarchy
     musicSource.gameObject.SetActive(true);
     musicSource.clip = musicTracks[(int)track];
     musicSource.Play();
 }
Beispiel #6
0
        static void Main(string[] args)
        {
            string[] artistNames = new string[] { "Rob Miles", "Freed Bloggs",
                                                  "The Bloggs Sisters", "Immy Brown" };
            string[] titleNames = new string[] { "My Way", "Your Way", "His Way", "Her Way",
                                                 "Milky Way" };

            List <Artist>     artists     = new List <Artist>();
            List <MusicTrack> musicTracks = new List <MusicTrack>();

            Random rand        = new Random(1);
            var    artistCount = 1;
            var    trackCount  = 1;

            foreach (string artistName in artistNames)
            {
                Artist newArtist = new Artist {
                    Name = artistName, ID = artistCount++
                };
                artists.Add(newArtist);
                foreach (string titleName in titleNames)
                {
                    MusicTrack newTrack = new MusicTrack
                    {
                        Artist = newArtist,
                        Title  = titleName,
                        Length = rand.Next(20, 600),
                        ID     = trackCount++
                    };
                    musicTracks.Add(newTrack);
                }
            }

            //Complex Anonymous Types
            var artistSummary = MusicTracks.Join(
                Artists,
                track => track.Artist.ID,
                artist => artist.ID,
                (track, artist) =>
                new
            {
                track  = track,
                artist = artist
            }
                )
                                .GroupBy(
                temp0 => temp0.artist.Name,
                temp0 => temp0.track
                )
                                .Select(
                artistTrackSummary =>
                new
            {
                ID     = artistTrackSummary.Key,
                Length = artistTrackSummary.Sum(x => x.Length)
            }
                );
        }
 protected override void PreparePlaylist(MusicTracks tracks)
 {
     tracks.Add(
         new MusicTrack(
             "MainMenu1",
             isLooped: true,
             fadeInDuration: 1,
             fadeOutDuration: 2,
             volume: 1));
 }
        public override double PauseBetweenTracksSeconds => 4 * 60; // 4 minutes

        protected override void PreparePlaylist(MusicTracks tracks)
        {
            tracks.Add(
                new MusicTrack(
                    "PlayersBase1",
                    isLooped: false,
                    fadeInDuration: 6,
                    fadeOutDuration: 6,
                    volume: 0.4));
        }
Beispiel #9
0
 protected override void PreparePlaylist(MusicTracks tracks)
 {
     tracks.Add(
         new MusicTrack(
             "BaseRaid1",
             isLooped: true,
             fadeInDuration: 1.5,
             fadeOutDuration: 5,
             volume: 0.35));
 }
Beispiel #10
0
        public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args)
        {
            //we do a CONSIDERABLE amount of trolling.
            contentPack.artifactDefs.Add(Artifacts.DumpContent());
            //args.ReportProgress(1f);
            contentPack.bodyPrefabs.Add(Bodies.DumpContent());
            //args.ReportProgress(1f);
            contentPack.buffDefs.Add(Buffs.DumpContent());
            //args.ReportProgress(1f);
            contentPack.effectDefs.Add(Effects.DumpContent());
            //args.ReportProgress(1f);
            contentPack.eliteDefs.Add(Elites.DumpContent());
            //args.ReportProgress(1f);
            contentPack.gameEndingDefs.Add(GameEndings.DumpContent());
            //args.ReportProgress(1f);
            contentPack.entityStateConfigurations.Add(Loadouts.DumpConfigs());
            //args.ReportProgress(1f);
            contentPack.entityStateTypes.Add(Loadouts.DumpEntityStates());
            //args.ReportProgress(1f);
            contentPack.skillFamilies.Add(Loadouts.DumpContentSkillFamilies());
            //args.ReportProgress(1f);
            contentPack.skillDefs.Add(Loadouts.DumpContentSkillDefs());
            //args.ReportProgress(1f);
            contentPack.survivorDefs.Add(Loadouts.DumpSurvivorDefs());
            //args.ReportProgress(1f);
            contentPack.masterPrefabs.Add(Masters.DumpContent());
            //args.ReportProgress(1f);
            contentPack.musicTrackDefs.Add(MusicTracks.DumpContent());
            //args.ReportProgress(1f);
            contentPack.networkedObjectPrefabs.Add(NetworkPrefabs.DumpContent());
            //args.ReportProgress(1f);
            contentPack.networkSoundEventDefs.Add(NetworkSoundEvents.DumpContent());
            //args.ReportProgress(1f);
            contentPack.itemDefs.Add(Pickups.DumpContentItems());
            //args.ReportProgress(1f);
            contentPack.equipmentDefs.Add(Pickups.DumpContentEquipment());
            //args.ReportProgress(1f);
            contentPack.projectilePrefabs.Add(Projectiles.DumpContent());
            //args.ReportProgress(1f);
            contentPack.gameModePrefabs.Add(Runs.DumpContent());
            //args.ReportProgress(1f);
            contentPack.sceneDefs.Add(Scenes.DumpContent());
            //args.ReportProgress(1f);
            contentPack.surfaceDefs.Add(SurfaceDefinitions.DumpContent());
            args.ReportProgress(1f);

            yield break;
        }
    private IEnumerator FadeInCoroutine(MusicTracks track, float fadeTime)
    {
        float startVolume = musicSource.volume;
        float totalTime   = 0.0f;

        musicSource.gameObject.SetActive(true);
        musicSource.clip   = musicTracks[(int)track];
        musicSource.volume = 0.0f;
        musicSource.Play();

        while (musicSource.volume < startVolume)
        {
            totalTime         += Time.deltaTime;
            musicSource.volume = startVolume * totalTime / fadeTime;

            yield return(null);
        }
    }
Beispiel #12
0
        /// <summary>
        /// Plays the specified music in repeat mode. Playing "None"
        /// stops the music.
        /// </summary>
        /// <param name="music">The music to play.</param>
        public void Play(MusicTracks music)
        {
            if (music == _CurrentMusic)
            {
                return;
            }

            if (music == MusicTracks.None)
            {
                MediaPlayer.Stop();
            }
            else
            {
                Song data = _Game.Content.Load <Song>(Enum.GetName(typeof(MusicTracks), music));
                MediaPlayer.IsRepeating = true;
                MediaPlayer.Play(data);
            }
            _CurrentMusic = music;
        }
Beispiel #13
0
 protected abstract void PreparePlaylist(MusicTracks tracks);
    public void PlayMusic(MusicTracks musicTracks)
    {
        switch (musicTracks)
        {
        case MusicTracks.MainMenu:
            if (mainMenuMusic != null)
            {
                musicAudioSource.loop = true;
                musicAudioSource.clip = mainMenuMusic;
                musicAudioSource.Play();
            }
            break;

        case MusicTracks.GameMusic:
            if (gameMusic != null)
            {
                musicAudioSource.loop = false;
                musicAudioSource.clip = gameMusic;
                musicAudioSource.Play();
            }
            break;

        case MusicTracks.FinalRound:
            if (finalRoundMusic != null)
            {
                musicAudioSource.loop = false;
                musicAudioSource.clip = finalRoundMusic;
                musicAudioSource.Play();
            }
            break;

        case MusicTracks.Win:
            if (winMusic != null)
            {
                musicAudioSource.loop = true;
                musicAudioSource.clip = winMusic;
                musicAudioSource.Play();
            }
            break;

        case MusicTracks.Loss:
            if (lossMusic != null)
            {
                musicAudioSource.loop = true;
                musicAudioSource.clip = lossMusic;
                musicAudioSource.Play();
            }
            break;

        case MusicTracks.Transistion:
            if (transistionMusic != null)
            {
                musicAudioSource.loop = false;
                musicAudioSource.clip = transistionMusic;
                musicAudioSource.Play();
            }
            break;

        default:
            break;
        }
    }
 public void FadeIn(MusicTracks track, float fadeTime)
 {
     StartCoroutine(FadeInCoroutine(track, fadeTime));
 }