private void OnTriggerStay(Collider other)
    {
        if (other.CompareTag("lab"))
        {
            // Play sound
            if (allowToPlaySFX)
            {
                allowToPlaySFX = false;
                GameController.Audio.PlaySFXOnce(AudioController.SoundEffect.Scrap);
                timeToWaitUntil = Time.time + GetWaitTimeBetweenSFX();
            }

            //Position the anchor point as the closest point on the submarine mesh to the position of the succ head.
            Vector3    pointOnBounding = other.ClosestPointOnBounds(transform.position);
            Ray        ray             = new Ray(pointOnBounding, (other.transform.position - pointOnBounding).normalized);
            RaycastHit hit;
            Vector3    direction = Vector3.zero;
            if (other.Raycast(ray, out hit, 100.0F))
            {
                direction = transform.position - hit.point;
            }
            direction = direction.normalized;
            subController.MoveInDirection(direction * reboundForce);
        }
        else if (other.CompareTag("seabed"))
        {
            Vector3 pointOnBounding = other.ClosestPointOnBounds(transform.position);
            Vector3 direction       = (transform.position - pointOnBounding).normalized;
            subController.MoveInDirection(direction * reboundForce);
        }
    }