public RythmMove DecideEnemyMove() { updateCooldowns(); for (int i = 0; i < _enemyBehaviourParameters.Count; i++) { if (_enemyBehaviourParameters[i].currentCooldown > 0) { continue; } if (CheckIfShouldUseMove(_enemyBehaviourParameters[i])) { if (_enemyBehaviourParameters[i].onlyUseOnce) { _enemyBehaviourParameters.RemoveAt(i); } else { _enemyBehaviourParameters[i].currentCooldown = _enemyBehaviourParameters[i].cooldown + 1; } moveToPerform = _enemyBehaviourParameters[i].moveToPerform; return(moveToPerform); } } return(moveToPerform); }
public override void Show() { base.Show(); victoryObject.SetActive(BattleController.Instance.battleWinnerPlayer); defeatObject.SetActive(!BattleController.Instance.battleWinnerPlayer); if (BattleController.Instance.battleWinnerPlayer) { Inventory inventory = Inventory.Instance; _moneyReward.text = BattleDataHolder.Instance.CurrentBattleData.RewardMoney.ToString(); inventory.Gold += BattleDataHolder.Instance.CurrentBattleData.RewardMoney; if (BattleDataHolder.Instance.CurrentBattleData.RewardMove == null) { _moveReward.text = "Nothing"; } else { RythmMove newMove = BattleDataHolder.Instance.CurrentBattleData.RewardMove; if (!inventory.PlayerData.ObtainedMoves.Contains(newMove)) { inventory.PlayerData.ObtainedMovesMovesID.Add(EquipmentManager.Instance.ListOfAllRythms.IndexOf(newMove)); inventory.PlayerData.ObtainedMoves.Add(newMove); } _moveReward.text = newMove.moveName; } if (BattleDataHolder.Instance.IsChampionBattle) { inventory.ChampionVictories += 1; } } }
public void PlayTrainingMove(RythmMove move) { RythmToPlay = move; CurrentMoveCount = 0; CurrentMoveRight = 0; _speedModifier = 1.0f; StartCoroutine(PlayTrainingRythm(move)); }
public void InitializeMyButton(RythmMove newMove) { myMove = newMove; myNameText.text = myMove.moveName; myStatsText.text = myMove.baseDamage + " / " + myMove.performanceDamage + " / " + myMove.extraDamage + " / " + myMove.effect.ToString(); ChangeStepsPanelStatus(); StepsPanel.Instance.ButtonsList.Add(this.gameObject); }
public void ChangeTooltipText(RythmMove move) { tooltipsTextTitle.text = move.name; tooltipsTextDmg1.text = move.baseDamage.ToString("F0"); tooltipsTextDmg2.text = move.performanceDamage.ToString("F0"); tooltipsTextDmg3.text = move.extraDamage.ToString("F0"); tooltipsTextEffectDefault.gameObject.SetActive(true); staticBaseText.SetActive(true); staticPerfectText.SetActive(true); staticPerformanceText.SetActive(true); tooltipsTextEffect.text = ConvertMoveEffectToString(move.effect); }
public IEnumerator PlayTrainingRythm(RythmMove move) { int currentIndex = 0; while (currentIndex < RythmToPlay.rythmData.Length) { CreateKey(currentIndex); yield return(new WaitForSeconds(RythmToPlay.rythmData[currentIndex].WaitTimeToNextNote * (2 - _speedModifier))); currentIndex++; } }
public void SetBattleStage(EBattleStage nextStage, RythmMove move = null) { _currentBattleStage = nextStage; if (move != null) { currentMove = move; } switch (_currentBattleStage) { case EBattleStage.Intro: SetCharacterValues(); pauseController.CanPause = false; OnIntro?.Invoke(); break; case EBattleStage.PlayerTurn: SetEnemyAnimation(enemy.IdleAnimation); pauseController.CanPause = true; OnPlayerTurn?.Invoke(); break; case EBattleStage.PlayerMove: _lastToMoveIsPlayer = true; OnPlayerMove?.Invoke(); break; case EBattleStage.EnemyTurn: SetPlayerAnimation(player.IdleAnimation); pauseController.CanPause = true; OnEnemyTurn?.Invoke(); StartCoroutine(WaitToEnemyMove()); break; case EBattleStage.EnemyMove: _lastToMoveIsPlayer = false; OnEnemyMove?.Invoke(); break; case EBattleStage.DamageStep: OnDamage?.Invoke(); StartCoroutine(DelayedDamage()); break; case EBattleStage.Conclusion: pauseController.CanPause = false; OnConclusion?.Invoke(); break; } }
public IEnumerator PlayRythm(bool isPlayer, RythmMove move, float waittime) { yield return(new WaitForSeconds(waittime)); if (isPlayer) { BattleController.Instance.SetPlayerAnimation(move.moveAnimation); if (BattleController.Instance.playerEffect == EMoveEffect.TempoUp) { _speedModifier = 1.2f; } if (BattleController.Instance.playerEffect == EMoveEffect.TempoDown) { _speedModifier = 0.8f; } } else { BattleController.Instance.SetEnemyAnimation(move.moveAnimation); if (BattleController.Instance.enemyEffect == EMoveEffect.TempoUp) { _speedModifier = 1.2f; } if (BattleController.Instance.enemyEffect == EMoveEffect.TempoDown) { _speedModifier = 0.8f; } } BattleAudioController.Instance.PlayMoveTrack(move.moveAudioClip, _speedModifier); BattleController.Instance.currentmoveScore = 0; //reset current move score int currentIndex = 0; while (currentIndex < RythmToPlay.rythmData.Length) { CreateKey(currentIndex); yield return(new WaitForSeconds(RythmToPlay.rythmData[currentIndex].WaitTimeToNextNote * (2 - _speedModifier))); currentIndex++; } yield return(null); }
public void EquipMove(RythmMove newMove) { if (Inventory.Instance.PlayerData.EquippedMoves.Count >= 3) { if (!unequipLastMoveAutomatically) { return; } Inventory.Instance.PlayerData.EquippedMoves.RemoveAt(0); Inventory.Instance.PlayerData.EquippedMovesID.RemoveAt(0); } Inventory.Instance.PlayerData.EquippedMoves.Add(newMove); Inventory.Instance.PlayerData.EquippedMovesID.Add(ListOfAllRythms.IndexOf(newMove)); StepsPanel.Instance.RefreshStatus(); }
public void PlayMove(RythmMove move, bool isPlayer) { RythmToPlay = move; CurrentMoveCount = 0; _speedModifier = 1.0f; if (isPlayer) { BattleController.Instance.SetBattleStage(EBattleStage.PlayerMove, move); } else { BattleController.Instance.SetBattleStage(EBattleStage.EnemyMove, move); } StartCoroutine(PlayRythm(isPlayer, move, _modifiers.StartMoveDelay)); }
public void UnequipMove(RythmMove newMove) { Inventory.Instance.PlayerData.EquippedMoves.Remove(newMove); Inventory.Instance.PlayerData.EquippedMovesID.Remove(ListOfAllRythms.IndexOf(newMove)); StepsPanel.Instance.RefreshStatus(); }