void OnStartFalling() { if (!Falling) { Falling = true; isFalling = true; if (PlayAnimator) { animator.SetTrigger("Fall"); } StartCoroutine(fallingUpdate()); otherBlockAnimator = null; } }
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); } }