private void OnRoundStarted(WaveType waveType)
    {
        Debug.Log("OnRoundStarted");

        currWaveType = waveType;

        switch (waveType)
        {
        case WaveType.normal:
            currTheme = theme_normal[Random.Range(0, theme_normal.Length)];
            break;

        case WaveType.hunter:
            currTheme = theme_hunter[Random.Range(0, theme_hunter.Length)];
            break;
        }

        if (ambient != null)
        {
            StopCoroutine(ambient);
        }
        ambient = StartCoroutine(StopAmbient());

        if (action != null)
        {
            StopCoroutine(action);
        }
        action = StartCoroutine(StartAction(true));
    }
            private MusicTheme GetBattleThemeWithCulture(
                CultureCode cultureCode,
                out bool isPaganBattle)
            {
                isPaganBattle = false;
                MusicTheme musicTheme = MusicTheme.None;

                if ((double)MBRandom.RandomFloat <= (double)this._factionSpecificBattleThemeSelectionFactor)
                {
                    this._factionSpecificBattleThemeSelectionFactor -= 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificBattleThemeSelectionFactor);
                    switch (cultureCode)
                    {
                    case CultureCode.Sturgia:
                    case CultureCode.Aserai:
                    case CultureCode.Khuzait:
                    case CultureCode.Battania:
                        isPaganBattle = true;
                        musicTheme    = (double)MBRandom.RandomFloat < 0.5 ? MusicTheme.BattlePaganA : MusicTheme.BattlePaganB;
                        break;

                    default:
                        musicTheme = (double)MBRandom.RandomFloat < 0.5 ? MusicTheme.CombatA : MusicTheme.CombatB;
                        break;
                    }
                }
                return(musicTheme);
            }
    IEnumerator ChangeTheme(float delay, MusicTheme newTheme)
    {
        yield return(new WaitForSecondsRealtime(delay));

        yield return(StartCoroutine(StopAction(false, false)));

        currTheme = newTheme;
        yield return(StartCoroutine(StartAction(false)));
    }
        public void StartTheme(MusicTheme theme, float startIntensity, bool queueEndSegment = false)
        {
            int num1 = (int)PsaiCore.Instance.TriggerMusicTheme((int)theme, startIntensity);

            if (!queueEndSegment)
            {
                return;
            }
            int num2 = (int)PsaiCore.Instance.StopMusic(false, 3f);
        }
    private void Awake()
    {
        current = this;

        GlobalEvents.OnRoundStarted += OnRoundStarted;
        GlobalEvents.OnRoundEnded   += OnRoundEnded;
        GlobalEvents.OnGameOver     += OnGameOver;
        GlobalEvents.onShipGetHit   += OnShipGetHit;
        GlobalEvents.onShipKilled   += OnShipKilled;

        currTheme = theme_normal[0];
    }
        public MusicTheme GetCampaignMusicTheme(
            CultureCode cultureCode,
            bool isDark,
            bool isWarMode)
        {
            MusicTheme musicTheme = MusicTheme.None;

            if (!isDark & isWarMode)
            {
                musicTheme = this._campaignMode.GetCampaignDramaticThemeWithCulture(cultureCode);
            }
            return(musicTheme != MusicTheme.None ? musicTheme : this._campaignMode.GetCampaignTheme(cultureCode, isDark));
        }
    public void PlayMusic(string name, float targetVolume) // play a music theme (by name) after a specified delay (in float seconds)
    {
        for (int i = 0; i < musicThemes.Length; i++)       // checks all Audio Sources (music themes)
        {
            if (musicThemes[i].source.isPlaying)           // If the music theme is already playing
            {
                if (name != musicThemes[i].name)           // if the requested music theme is not this one
                {
                    //  Debug.Log("name: " + name + " - musicThemes[i].name: " + musicThemes[i].name);
                    StartCoroutine(FadeMixerGroup.StartFade(musicThemes[i].source.outputAudioMixerGroup.audioMixer, musicThemes[i].name + "Vol", 5.5f, 0)); // turn down the volume in a fade
                    StartCoroutine(StopAfterDelay(musicThemes[i].source));                                                                                  // stop the music theme
                }
            }
            else
            {
                if (name == "Battle")
                {
                    if (SceneManager.GetActiveScene().name == "Tutorial")
                    {
                        musicThemes[2].source.clip = battle[4];                                                                                      // tutorial battle music
                        FadeMixerGroup.SetVolume(musicThemes[5].source.outputAudioMixerGroup.audioMixer, musicThemes[5].name + "Vol", targetVolume); // turn down the volume
                        musicThemes[5].source.Stop();                                                                                                // stop instructions music
                        FadeMixerGroup.SetVolume(musicThemes[2].source.outputAudioMixerGroup.audioMixer, musicThemes[2].name + "Vol", targetVolume); // turn up the volume
                        musicThemes[2].source.Play();                                                                                                // play battle music
                        return;
                    }
                    else
                    {
                        musicThemes[2].source.clip = battle[runTimeChoices.runTimeLoopCount - 1];
                    }
                    StopCurrentPlaying();
                    StartCoroutine(FadeMixerGroup.StartFade(musicThemes[i].source.outputAudioMixerGroup.audioMixer, musicThemes[i].name + "Vol", 5, targetVolume)); // turn up the volume in a fade
                }
                else if (name == "Peace")
                {
                    musicThemes[3].source.clip = peace[runTimeChoices.runTimeLoopCount - 1];
                }
                StartCoroutine(FadeMixerGroup.StartFade(musicThemes[i].source.outputAudioMixerGroup.audioMixer, musicThemes[i].name + "Vol", 5, targetVolume)); // turn up the volume in a fade
            }
        }

        MusicTheme mt = Array.Find(musicThemes, musicTheme => musicTheme.name == name);

        if (mt == null)
        {
            Debug.LogWarning("Music Theme: " + name + " not found!");
            return;
        }

        StartCoroutine(PlayAfterDelay(mt.source));
    }
            public MusicTheme GetBattleEndTheme(CultureCode culture, bool isVictorious)
            {
                MusicTheme musicTheme;

                if (isVictorious)
                {
                    MusicTheme victoryThemeForCulture = this.GetVictoryThemeForCulture(culture);
                    musicTheme = victoryThemeForCulture != MusicTheme.None ? victoryThemeForCulture : MusicTheme.BattleVictory;
                }
                else
                {
                    musicTheme = MusicTheme.BattleDefeat;
                }
                return(musicTheme);
            }
Exemple #9
0
    // Initialize the player by setting the singleton instance and
    // setting current music theme to unassigned
    public void Initialize()
    {
        // If no sound object has yet been assigned, make this
        // the sound object and make sure it isn't destroyed on load
        if (instance == null)
        {
            DontDestroyOnLoad(gameObject);
            instance = this;
        }
        // Otherwise, if sound already exists but this isn't it, self-destruct
        else if (instance != this)
        {
            Destroy(gameObject);
        }

        // Initialize music theme to not yet assigned
        theme = MusicTheme.Unassigned;
    }
            public MusicTheme GetSiegeTheme(CultureCode culture)
            {
                MusicTheme themeWithCulture = this.GetSiegeThemeWithCulture(culture);
                MusicTheme musicTheme;

                if (themeWithCulture == MusicTheme.None)
                {
                    musicTheme = MusicTheme.BattleSiege;
                    this._factionSpecificSiegeThemeSelectionFactor += 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificSiegeThemeSelectionFactor);
                }
                else
                {
                    musicTheme = themeWithCulture;
                    this._factionSpecificSiegeThemeSelectionFactor -= 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificSiegeThemeSelectionFactor);
                }
                return(musicTheme);
            }
            private MusicTheme GetSiegeThemeWithCulture(CultureCode cultureCode)
            {
                MusicTheme musicTheme = MusicTheme.None;

                if ((double)MBRandom.RandomFloat <= (double)this._factionSpecificSiegeThemeSelectionFactor)
                {
                    this._factionSpecificSiegeThemeSelectionFactor -= 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificSiegeThemeSelectionFactor);
                    switch (cultureCode)
                    {
                    case CultureCode.Sturgia:
                    case CultureCode.Aserai:
                    case CultureCode.Khuzait:
                    case CultureCode.Battania:
                        musicTheme = MusicTheme.PaganSiege;
                        break;
                    }
                }
                return(musicTheme);
            }
Exemple #12
0
    /// <summary>
    /// Stops the previous theme and starts the new one.
    /// </summary>
    public void Play(MusicTheme theme)
    {
        if (currentTune == theme)
        {
            return;
        }
        audioSource.Stop();
        switch (theme)
        {
        case MusicTheme.MainMenu:       this.audioSource.clip = mainMenuMusic; break;

        case MusicTheme.Battle:         this.audioSource.clip = battleMenuMusic; break;

        case MusicTheme.BattleLost: this.audioSource.clip = battleLostMusic; break;

        case MusicTheme.BattleWon:      this.audioSource.clip = battleWonMusic; break;
        }
        currentTune = theme;
        audioSource.Play();
    }
            public MusicTheme GetBattleTheme(
                CultureCode culture,
                int battleSize,
                out bool isPaganBattle)
            {
                MusicTheme themeWithCulture = this.GetBattleThemeWithCulture(culture, out isPaganBattle);
                MusicTheme musicTheme;

                if (themeWithCulture == MusicTheme.None)
                {
                    musicTheme = (double)battleSize < (double)MusicParameters.SmallBattleTreshold - (double)MusicParameters.SmallBattleTreshold * 0.200000002980232 * (double)MBRandom.RandomFloat ? MusicTheme.BattleSmall : MusicTheme.BattleMedium;
                    this._factionSpecificBattleThemeSelectionFactor += 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificBattleThemeSelectionFactor);
                }
                else
                {
                    musicTheme = themeWithCulture;
                    this._factionSpecificBattleThemeSelectionFactor -= 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificBattleThemeSelectionFactor);
                }
                return(musicTheme);
            }
Exemple #14
0
    // Plays the given music clip of the specified theme
    public void PlayMusicOfTheme(MusicTheme newTheme, List <AudioClip> newMusic)
    {
        theme = newTheme;

        // Go through the list of music channels and play the list of new music clips on each one
        for (int index = 0; index < musicChannels.Count; index++)
        {
            musicChannels [index].Stop();

            if (index < newMusic.Count)
            {
                musicChannels [index].clip = newMusic [index];
                musicChannels [index].Play();
            }
        }

        // Log a warning if you specified too many new music audio clips
        if (newMusic.Count > musicChannels.Count)
        {
            Debug.LogWarning("You specified too many music clips for the sound player to play");
        }
    }
            public MusicTheme GetCampaignTheme(CultureCode cultureCode, bool isDark)
            {
                if (isDark)
                {
                    return(MusicTheme.CampaignDark);
                }
                MusicTheme themeWithCulture = this.GetCampaignThemeWithCulture(cultureCode);
                MusicTheme musicTheme;

                if (themeWithCulture == MusicTheme.None)
                {
                    musicTheme = MusicTheme.CampaignStandard;
                    this._factionSpecificCampaignThemeSelectionFactor += 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificCampaignThemeSelectionFactor);
                }
                else
                {
                    musicTheme = themeWithCulture;
                    this._factionSpecificCampaignThemeSelectionFactor -= 0.1f;
                    MBMath.ClampUnit(ref this._factionSpecificCampaignThemeSelectionFactor);
                }
                return(musicTheme);
            }
    public void PlayTheme(MusicTheme theme)
    {
        switch (theme)
        {
        case MusicTheme.NoChange:
            break;

        case MusicTheme.Silence:
            PlayMusic(null);
            break;

        case MusicTheme.MainTheme:
            PlayMusic(mainTheme);
            break;

        case MusicTheme.BarTheme:
            PlayMusic(barTheme);
            break;

        case MusicTheme.BattleTheme:
            PlayMusic(battleTheme);
            break;
        }
    }
    public void PlayMusic(MusicTheme musicTheme)
    {
        AudioClip clipToPlay = null;

        switch (musicTheme)
        {
        case MusicTheme.Menu:
            clipToPlay = mainTheme;
            break;

        case MusicTheme.Game:
            clipToPlay = mainTheme;
            break;

        case MusicTheme.Boss:
            clipToPlay = bossTheme;
            break;
        }

        if (clipToPlay != null)
        {
            AudioManager.Instance.PlayMusic(clipToPlay, _musicFadeDuration);
        }
    }
Exemple #18
0
 public void SwitchToScene(string sceneName, Vector2 playerPosition, MusicTheme nextTheme = MusicTheme.NoChange)
 {
     StartCoroutine(SwitchSceneSequence(sceneName, playerPosition, nextTheme));
 }
Exemple #19
0
    private IEnumerator SwitchSceneSequence(string sceneName, Vector2 playerPosition, MusicTheme nextTheme)
    {
        PlayerMovement playerMovement = Game.instance.refs.GetPlayerMovement();
        Facing         lastFacing     = playerMovement.currentFacing;

        playerMovement.canMove = false;
        playerMovement.StopMovement();
        AsyncOperation request = SceneManager.LoadSceneAsync(sceneName);

        request.allowSceneActivation = false;
        yield return(StartCoroutine(Game.instance.refs.GetOverlay().FadeIn()));

        request.allowSceneActivation = true;
        yield return(new WaitUntil(() => request.isDone));

        Game.instance.gameAudio.PlaySceneSwitchSound();
        Game.instance.gameAudio.PlayTheme(nextTheme);
        Game.instance.refs.GetPlayer().position = playerPosition;
        Game.instance.refs.GetPlayerMovement().currentFacing = lastFacing;
        yield return(StartCoroutine(Game.instance.refs.GetOverlay().FadeOut()));
    }
Exemple #20
0
 public Preferences(SPref spref)
 {
     reinforcer = spref.reinforcer;
     musicTheme = spref.musicTheme;
     code       = spref.code;
 }
Exemple #21
0
 public void SetMusicTheme(MusicTheme m)
 {
     musicTheme = m;
 }
Exemple #22
0
 public SPref(Preferences pref)
 {
     reinforcer = pref.GetReinforcer();
     musicTheme = pref.GetMusicTheme();
     code       = pref.GetCode();
 }
        public void StartThemeWithConstantIntensity(MusicTheme theme, bool queueEndSegment = false)
        {
            int num = (int)PsaiCore.Instance.HoldCurrentIntensity(true);

            this.StartTheme(theme, 0.0f, queueEndSegment);
        }
Exemple #24
0
    //Constructeur

    public Preferences()
    {
        reinforcer = Reinforcer.dino;
        musicTheme = MusicTheme.mario;
        code       = "0000";
    }