public void Start()
        {
            scaleSlider = GetComponentInChildren <Slider>();
            objectManipulationInputController = SceneRefs.Get <ObjectManipulationInputController>();
            objectManipulationInputController.InteractionStateChanged += onObjectManipulationInputControllerInteractionStateChanged;
            objectManipulationInputController.ObjectSelected          += onObjectManipulationInputControllerObjectSelected;
            RotationWheel rotationWheel = RotationWheel;

            rotationWheel.SelectedStateChanged = (Action <bool>)Delegate.Combine(rotationWheel.SelectedStateChanged, new Action <bool>(OnRotationWheelSelectionStateChanged));
            if (PlatformUtils.GetPlatformType() == PlatformType.Mobile)
            {
                HideScaleControls();
                HideRotationControls();
            }
            else
            {
                InitializeControls();
            }
        }
        public void OnDestroy()
        {
            CoroutineRunner.StopAllForOwner(this);
            if (objectManipulationInputController != null)
            {
                objectManipulationInputController.InteractionStateChanged -= onObjectManipulationInputControllerInteractionStateChanged;
                objectManipulationInputController.ObjectSelected          -= onObjectManipulationInputControllerObjectSelected;
            }
            if (scaleSlider != null)
            {
                scaleSlider.onValueChanged.RemoveAllListeners();
            }
            RotationWheel rotationWheel = RotationWheel;

            rotationWheel.ValueChanged = (Action <float>)Delegate.Remove(rotationWheel.ValueChanged, new Action <float>(OnRotationWheelChanged));
            RotationWheel rotationWheel2 = RotationWheel;

            rotationWheel2.SelectedStateChanged = (Action <bool>)Delegate.Remove(rotationWheel2.SelectedStateChanged, new Action <bool>(OnRotationWheelSelectionStateChanged));
        }
        private void ConfigureRotationOptions(DecorationDefinition def, ObjectManipulator m)
        {
            RotationWheel rotationWheel = RotationWheel;

            rotationWheel.ValueChanged = (Action <float>)Delegate.Remove(rotationWheel.ValueChanged, new Action <float>(OnRotationWheelChanged));
            if (def.MaxRotation != 0 && def.MinRotation != 0)
            {
                MaxRotation         = def.MaxRotation;
                MinRotation         = def.MinRotation;
                RotationWheel.Value = m.CurrentRotationDegreesAroundUp * ((float)Math.PI / 180f);
                RotationWheel rotationWheel2 = RotationWheel;
                rotationWheel2.ValueChanged = (Action <float>)Delegate.Combine(rotationWheel2.ValueChanged, new Action <float>(OnRotationWheelChanged));
                RotationWheelContainer.SetActive(value: true);
            }
            else
            {
                MaxRotation = 0f;
                MinRotation = 0f;
                HideRotationControls();
            }
        }