コード例 #1
0
 private void HandleLayers()
 {
     if (!onGround)
     {
         CharaAnimator.SetLayerWeight(1, 1);
         CharaAnimator.SetLayerWeight(2, 0);
     }
     else
     {
         CharaAnimator.SetLayerWeight(1, 0);
         CharaAnimator.SetLayerWeight(2, 1);
     }
 }
コード例 #2
0
    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);
        }
    }