示例#1
0
 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();
 }
示例#2
0
 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;
         }
     }
 }
示例#3
0
        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;
        }