Hand.ReleaseObstacle C# (CSharp) Method

ReleaseObstacle() private method

private ReleaseObstacle ( ) : IEnumerator
return IEnumerator
    private IEnumerator ReleaseObstacle()
    {
        if (m_IsGrabbing)
        {
            m_IsGrabbing = false;

            if (m_GrabbedObstacleJoin != null)
            {
                AudioManager.Instance.StopLoopingSFX(m_SFXHoldGrab);

                m_GrabbedObstacleHandle.OnReleased();
                m_GrabbedObstacleHandle = null;

                Destroy(m_GrabbedObstacleJoin.gameObject);
                m_GrabbedObstacleJoin = null;

                yield return null;

                m_GoalHeight = RELEASED_OFFSET;
                StopCoroutine("RaiseHand");
                StartCoroutine("RaiseHand");
            }

            m_Asset.spriteId = m_Asset.GetSpriteIdByName(m_HandEmptyAssetName);
        }
    }