protected override bool IsConditionMet()
        {
            var camDirection = PuzzleTools.IsCameraDirectionCorrect(_cam, outOfPathBlock,
                                                                    outOfPathBlockDirection, cameraDirectionThreshold);
            var camPosition = PuzzleTools.IsCameraPositionCorrect(_cam, outOfPathBlock,
                                                                  cameraLengthThreshold, cameraYThreshold, distanceAxis);

            return(camDirection && camPosition);
        }
    private void Update()
    {
        if (!_isTargetVisible || !arrow.activeSelf || !_hasStarted)
        {
            return;
        }

        var blockCenter     = PuzzleTools.GetPosition(_gameObject);
        var desiredLocation = new Vector3(blockCenter.x, blockCenter.y, blockCenter.z);

        arrow.transform.LookAt(desiredLocation);
    }
        protected override bool IsConditionMet()
        {
            var camDirection = PuzzleTools.IsCameraDirectionCorrect(_cam, brokenObject, brokenObjectDirection,
                                                                    directionThreshold);
            var camPosition = PuzzleTools.IsCameraPositionCorrect(_cam, brokenObject, positionLengthThreshold,
                                                                  positionYThreshold, distanceAxis);

            if (_text != null && log)
            {
                _text.text = "DIRECTION: " + camDirection + " | POSITION: " + camPosition;
            }

            return(camDirection && camPosition);
        }