Exemplo n.º 1
0
    private void checkState()
    {
        if (transform.position.y < -200)
        {
            _state = STATE.Unavailable;
            return;
        }
        if (_state == STATE.Dying && isAlive())
        {
            _state = STATE.Standing;
        }
        if (_state == STATE.Dying)
        {
            return;
        }
        else if (!isAlive())
        {
            _state = STATE.Dying;
            _anim.SetTrigger("dying");
            _anim.SetLayerWeight(1, 0);
            parachute.close();
            StartCoroutine(ClearBody());
            return;
        }

        if (_isShield)
        {
            if (_anim.GetBool("falling"))
            {
                return;
            }
            if (_state != STATE.Shielding)
            {
                _anim.SetTrigger("shield");
            }
            _state = STATE.Shielding;
        }
        else if (_moveDirection != Vector3.zero)
        {
            _state = STATE.Running;
            _anim.SetFloat("speed", 1);
        }
        else if (_moveDirection == Vector3.zero)
        {
            _state = STATE.Standing;
            _anim.SetFloat("speed", 0);
        }
    }
Exemplo n.º 2
0
 public void OnCollisionEnter(Collision col)
 {
     switch (col.gameObject.tag)
     {
     case "tile":
         if (parachute != null)
         {
             parachute.close();
         }
         break;
     }
 }