private void Start() { playerHealthBar = playerHealthBarLayout.Children(); enemyHealthBar = enemyHealthBarLayout.Children(); playerBattleInfos = new BattleInfos(); enemyBattleInfos = new BattleInfos(); canvas.enabled = true; playerAnimator = battleReportAlly.GetComponent <Animator>(); enemyAnimator = battleReportEnemy.GetComponent <Animator>(); DeactivateBattleReport(); }
private void BattleOutcome(BattleInfos battleInfos, bool isEnemy) { if (battleInfos.DamageTaken == 0) { if (isEnemy) { enemyOutcome.text = missText; enemyOutcome.enabled = true; } else { playerOutcome.text = missText; playerOutcome.enabled = true; } } else if (!battleInfos.CriticalHit) { if (isEnemy) { enemyOutcome.text = hitText; enemyOutcome.enabled = true; } else { playerOutcome.text = hitText; playerOutcome.enabled = true; } } else { if (isEnemy) { enemyOutcome.text = criticalHitText; enemyOutcome.enabled = true; } else { playerOutcome.text = criticalHitText; playerOutcome.enabled = true; } } }
private IEnumerator AttackAnimation(Animator animator, BattleInfos battleInfos, GameObject[] healthBar, bool isEnemy) { while (animationIsPlaying) { yield return(null); } ModifyHealthBar(playerBattleInfos.MaxHp, playerBattleInfos.CurrentHealth, playerHealthBar); ModifyHealthBar(enemyBattleInfos.MaxHp, enemyBattleInfos.CurrentHealth, enemyHealthBar); animationIsPlaying = true; animator.SetBool(IS_ATTACKING, true); yield return(new WaitForSeconds(timeToWaitBetweenAnimations)); ModifyHealthBar(battleInfos.MaxHp, battleInfos.CurrentHealth, healthBar, false, battleInfos.DamageTaken); BattleOutcome(battleInfos, isEnemy); battleInfos.CurrentHealth -= battleInfos.DamageTaken; yield return(new WaitForSeconds(timeToWaitBetweenAnimations)); animator.SetBool(IS_ATTACKING, false); animationIsPlaying = false; }