public override void OnStart() { TimeManager.ResumeTime(); ResetFields(); inventoryInputManager = FindObjectOfType <InventoryInputManager>(); generator = FindObjectOfType <BattleGenerator>(); _sortingCalculator = FindObjectOfType <SortingCalculator>(); tutorialPanelActive = Instantiate(tutorialPanel); tutorialScript = tutorialPanelActive.GetComponent <BattleTutorialScript>(); BattleEvents.NormalEvent.AddListener(this); BattleEvents.EndOfTurnEvent.AddListener(this); BattleEvents.SkipTurnEvent.AddListener(this); canGiveCommand = true; roundCount = 0; //AudioController.PlayAudio(CommonAudioTypes.MainBattleTheme); if (!BattleMusicManager.IsPlaying()) { BattleMusicManager.PlayTheme(); } PartyManager.Order(); Timing.RunCoroutine(SetupBattle()); }
public virtual IEnumerator <float> FleeBattleSequence() { Timing.RunCoroutine(BattleMusicManager.StopAudio(1)); BattleEvents.FleeBattleEvent.Raise(); BattleInput._controls.Disable(); EventSystem.current.sendNavigationEvents = false; yield return(Timing.WaitForSeconds(0.5f)); foreach (var member in membersForThisBattle.Where(member => !member.IsDead)) { var position = member.Unit.transform.position; var newPosition = new Vector3(position.x, position.y, position.z - 15); member.Unit.EmptyAnimations(); member.Unit.anim.SetInteger(AnimationHandler.AnimState, 0); member.Unit.anim.SetFloat(AnimationHandler.HorizontalHash, -1); member.Unit.anim.SetBool(AnimationHandler.IsWalkingHash, true); member.Unit.anim.SetBool(AnimationHandler.IsRunningHash, true); member.Unit.transform.DOMove(newPosition, 2); } //yield return Timing.WaitForSeconds(1.5f); MainInventory.ResetHealingItems(); SceneLoadManager.LoadOverworld(); }
public override void OnStart() { TimeManager.ResumeTime(); ResetFields(); minotaur = null; inventoryInputManager = FindObjectOfType <InventoryInputManager>(); generator = FindObjectOfType <BattleGenerator>(); _sortingCalculator = FindObjectOfType <SortingCalculator>(); BattleEvents.NormalEvent.AddListener(this); BattleEvents.EndOfTurnEvent.AddListener(this); BattleEvents.SkipTurnEvent.AddListener(this); canGiveCommand = true; roundCount = 0; //AudioController.PlayAudio(minotaurTheme); if (!BattleMusicManager.IsPlaying()) { BattleMusicManager.PlayTheme(); } PartyManager.Order(); Timing.RunCoroutine(SetupBattle()); }
protected virtual IEnumerator <float> LostBattleSequence() { //AudioController.StopAudio(CommonAudioTypes.MainBattleTheme, true, 1); Timing.RunCoroutine(BattleMusicManager.StopAudio(1)); yield return(Timing.WaitForSeconds(1)); gameOverCanvas.SetActive(true); }
protected virtual IEnumerator <float> WonBattleSequence() { //AudioController.StopAudio(CommonAudioTypes.MainBattleTheme, true, 2); Timing.RunCoroutine(BattleMusicManager.StopAudio(2)); yield return(Timing.WaitForSeconds(2)); CommonMMFeedbacks.VictoryFeedback.PlayFeedbacks(); yield return(Timing.WaitForSeconds(1)); AudioController.PlayAudio(CommonAudioTypes.VictoryThemeBattle, true); membersForThisBattle.ForEach(member => member.Unit.anim.SetTrigger(AnimationHandler.VictoryTrigger)); yield return(Timing.WaitForSeconds(2f)); battleResults.SetActive(true); var battleResultsUI = battleResults.GetComponent <BattleResultsUI>(); battleResultsUI.DisableUI(); foreach (var member in membersForThisBattle) { member.ResetLevelUpAmount(); var totalXp = expGivers.Sum(giver => giver.CalculateExperience(member.level, member)); var totalClassXp = expGivers.Sum(giver => giver.CalculateExperience(member.currentClass.level, member.currentClass)); member.BattleExpReceived = totalXp; member.AdvanceTowardsNextLevel(totalXp); member.currentClass.AdvanceTowardsNextLevel(totalClassXp); } yield return(Timing.WaitUntilTrue(() => membersForThisBattle. TrueForAll(m => m.Unit.expCoroutineDone && m.Unit.classExpCoroutineDone))); //yield return Timing.WaitUntilTrue(() => BattleInput._controls.Battle.Confirm.triggered); yield return(Timing.WaitForSeconds(0.5f)); yield return(Timing.WaitUntilTrue(() => BattleInput._controls.Battle.Confirm.triggered)); Timing.RunCoroutine(battleResultsUI.ShowLevelUps()); yield return(Timing.WaitForSeconds(0.3f)); yield return(Timing.WaitUntilFalse(() => battleResultsUI.showingLevelUps)); BattleInput._controls.Disable(); SceneLoadManager.LoadOverworld(); membersForThisBattle.ForEach(m => { m.currentClass.statsToIncrease = new List <CharacterStat>(); }); }
IEnumerator ScreenShot() { yield return(new WaitForEndOfFrame()); Texture2D texture = new Texture2D(Screen.width, Screen.height, TextureFormat.ARGB32, false); texture.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0); texture.Apply(); ShatterController SController = Instantiate(Resources.Load <ShatterController>("Shattered Object")); SController.AnimateEvent(texture); BattleMusicManager.PlayTheme(); }