public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            GoalSelector = new UISegmentedControl($"{ARCoachingGoal.Tracking}", $"{ARCoachingGoal.HorizontalPlane}", $"{ARCoachingGoal.VerticalPlane}")
            {
                TranslatesAutoresizingMaskIntoConstraints = false
            }
            ;

            Coach = new ARCoachingOverlayView
            {
                ActivatesAutomatically = true,
                Delegate = new CoachingDelegate(this),
                Session  = SCNView.Session
            };

            BlurView = new UIView
            {
                BackgroundColor = UIColor.Black.ColorWithAlpha(.65f),
                Alpha           = 0
            };

            SCNView.FillWith(BlurView);
            SCNView.FillWith(Coach, 200, 400);
            View.AddSubviews(GoalSelector);
            View.AddConstraints(new[]
            {
                NSLayoutConstraint.Create(GoalSelector, NSLayoutAttribute.Top, NSLayoutRelation.Equal, View, NSLayoutAttribute.TopMargin, 1, 10),
                NSLayoutConstraint.Create(GoalSelector, NSLayoutAttribute.CenterX, NSLayoutRelation.Equal, View, NSLayoutAttribute.CenterX, 1, 0)
            });

            GoalSelector.ValueChanged += GoalChanged;
        }
 public override void DidRequestSessionReset(ARCoachingOverlayView _)
 => Parent.ResetTracking();
 public override void DidDeactivate(ARCoachingOverlayView _)
 => Parent.DimUserInterface(false);
 public override void WillActivate(ARCoachingOverlayView _)
 => Parent.DimUserInterface(true);