private void HandleLayers() { if (!onGround) { CharaAnimator.SetLayerWeight(1, 1); CharaAnimator.SetLayerWeight(2, 0); } else { CharaAnimator.SetLayerWeight(1, 0); CharaAnimator.SetLayerWeight(2, 1); } }
public override IEnumerator TakeDamage(float damagePoint) { if (!immortal) { health -= (int)damagePoint; healthBar.GetComponent <HealthBar> ().UpdateHealthBar(health); if (CharaAnimator.GetBool("crouch")) { CharaAnimator.SetBool("crouch", false); } if (!IsDead) { CharaAnimator.SetTrigger("damage"); if (damageCounter < 2) { damageCounter += 1; CharaAnimator.SetInteger("damageCounter", damageCounter); } else { immortal = true; StartCoroutine(IndicateImmortal()); yield return(new WaitForSeconds(immortalTime)); immortal = false; damageCounter = 0; CharaAnimator.SetInteger("damageCounter", damageCounter); } } else { CharaAnimator.SetLayerWeight(1, 0); CharaAnimator.SetTrigger("die"); WinLoseManager.Instance.setWinLoseState(WinLoseManager.WinloseState.player2Win); BattleSceneManager.Instance.State = BattleSceneManager.BattleSceneState.winLosePose; } yield return(null); } }