public IEnumerator EndBattleCo2() { //this makes the sound fade twice when going back to scene - which is not desireable //yield return new WaitForSeconds(1f); uiButtonsHolder.SetActive(false); targetMenu.SetActive(false); magicMenu.SetActive(false); battleActive = false; if (!playerDead) { AudioManager.instance.music[4].volume = 0f; //StartCoroutine(FadeAudio.StartFade(AudioManager.instance.music[4], 1f, 0f)); yield return(null); } for (int i = 0; i < activeBattlers.Count; i++) { if (activeBattlers[i].isPlayer) { for (int j = 0; j < GameManager.instance.playerStats.Length; j++) { if (activeBattlers[i].charName == GameManager.instance.playerStats[i].charName) { GameManager.instance.playerStats[j].currentHp = activeBattlers[i].currentHp; GameManager.instance.playerStats[j].currentMp = activeBattlers[i].currentMp; } } } Destroy(activeBattlers[i].gameObject); } currentTurn = 0; GameManager.instance.battleActive = false; battleActive = false; Camera.SetActive(false); Player.instance.OnRunSpeed(); EnemyDefeated ef = obj.AddComponent <EnemyDefeated>(); ef.DetermineDefeated(npcName); // battlescene unactive BattleScene.SetActive(false); //Reset battler list activeBattlers.Clear(); //find music from worldcontroller int sceneMusic = FindObjectOfType <WorldController>().musicToPlay; AudioManager.instance.music[sceneMusic].volume = 0f; AudioManager.instance.PlayMusic(sceneMusic); StartCoroutine(FadeAudio.StartFade(AudioManager.instance.music[sceneMusic], 3, 0.2f)); //} Player.instance.UnMuteWalk(); }
public override void Trigger(IGame game, IEffectHandle handle) { var defeatedState = new EnemyDefeated(game, enemy, attackers); foreach (var card in game.GetCardsInPlayWithEffect <ICardInPlay, IBeforeEnemyDefeated>()) { foreach (var effect in card.BaseCard.Text.Effects.OfType <IBeforeEnemyDefeated>()) { effect.BeforeEnemyDefeated(defeatedState); } } foreach (var card in game.GetCardsInPlayWithEffect <ICardInPlay, IDuringEnemyDefeated>()) { foreach (var effect in card.BaseCard.Text.Effects.OfType <IDuringEnemyDefeated>()) { effect.DuringEnemyDefeated(defeatedState); } } if (!defeatedState.IsEnemyDefeated) { handle.Cancel(GetCancelledString()); return; } foreach (var card in game.GetCardsInPlayWithEffect <ICardInPlay, IAfterEnemyDefeated>()) { foreach (var effect in card.BaseCard.Text.Effects.OfType <IAfterEnemyDefeated>()) { effect.AfterEnemyDefeated(defeatedState); } } var leavingPlayEffect = new CardLeavesPlayEffect(game, enemy); game.AddEffect(leavingPlayEffect); var leavingPlayHandle = leavingPlayEffect.GetHandle(game); game.TriggerEffect(leavingPlayHandle); handle.Resolve(GetCompletedStatus()); }