コード例 #1
0
 void OnStartFalling()
 {
     if (!Falling)
     {
         Falling   = true;
         isFalling = true;
         if (PlayAnimator)
         {
             animator.SetTrigger("Fall");
         }
         StartCoroutine(fallingUpdate());
         otherBlockAnimator = null;
     }
 }
コード例 #2
0
    IEnumerator fallingUpdate()
    {
        while (isFalling)
        {
            isGrounded(out info);

            if (info.collider == null)
            {
                OnStartFalling();
            }
            else if (info.collider.CompareTag("Wall") || info.collider.CompareTag("PlacedWallBlock"))
            {
                OnEndFalling();
            }
            else if (info.collider.CompareTag("WoodSprite"))
            {
                otherBlockAnimator = info.collider.GetComponent <BlockAnimator>();
                if (!GetNextScript().isFalling)
                {
                    OnEndFalling();
                }
                else
                {
                    OnStartFalling();
                }
            }
            else if (info.collider.CompareTag("WoodBlock") || info.collider.CompareTag("Iron Block"))
            {
                otherBlockAnimator = info.collider.transform.GetComponentInChildren <BlockAnimator>();
                if (!GetNextScript().isFalling)
                {
                    OnEndFalling();
                }
                else
                {
                    OnStartFalling();
                }
            }
            else
            {
                OnStartFalling();
            }
            yield return(null);
        }
    }