// EMPTY #region PUBLIC_METHODS #endregion #region PRIVATE_METHODS private void MakeBasicSetup() { _ListenersDictionary = new Dictionary <string, GameEventListenerTransform> { { "Right", null }, { "Left", null }, { "Gaze", null }, }; CheckObject = CheckSliderClick; _uiSetup = new VRUISetup(CheckObject); ClickOnlySetup = new VRHandleSliderSetup(); ScrollableSetup = new VRUIScrollableSetup(UnityUIToVRSFUI.SliderDirectionToUIDirection(direction), minValue, maxValue, wholeNumbers); // Check if the Listeners GameObject is set correctly. If not, create the child if (!ClickOnlySetup.CheckGameEventListenerChild(ref gameEventListenersContainer, ref _ListenersDictionary, transform)) { _uiSetup.CreateGameEventListenerChild(ref gameEventListenersContainer, transform); } if (!_boxColliderSetup && gameObject.activeInHierarchy) { StartCoroutine(SetupBoxCollider()); } try { handleRect = transform.FindDeepChild("Handle").GetComponent <RectTransform>(); fillRect = transform.FindDeepChild("Fill").GetComponent <RectTransform>(); } catch { Debug.LogError("Please add a Handle and a Fill with RectTransform as children of this VR Handle Slider."); } }
private void Init(OnSetupVRReady _) { if (VRSF_Components.DeviceLoaded != EDevice.SIMULATOR) { ObjectWasClickedEvent.Listeners += CheckSliderClick; ObjectWasHoveredEvent.Listeners += CheckObjectOvered; CheckSliderReferences(); _scrollableSetup = new VRUIScrollableSetup(UnityUIToVRSFUI.SliderDirectionToUIDirection(direction), minValue, maxValue, wholeNumbers); _scrollableSetup.CheckMinMaxGameObjects(handleRect.parent, UnityUIToVRSFUI.SliderDirectionToUIDirection(direction), ref _minPosBar, ref _maxPosBar); } }
private void SetupUIElement() { _controllersParameter = ControllersParametersVariable.Instance; _gazeParameter = GazeParametersVariable.Instance; _interactionContainer = InteractionVariableContainer.Instance; _inputContainer = InputVariableContainer.Instance; _rightIsClicking = _inputContainer.RightClickBoolean.Get("TriggerIsDown"); _leftIsClicking = _inputContainer.LeftClickBoolean.Get("TriggerIsDown"); // If the controllers are not used, we cannot click on the slider, so we will fill the slider with the Over events if (!_controllersParameter.UseControllers) { Debug.Log("VRSF : You won't be able to use the VR Handle Slider if you're not using the Controllers. To change that,\n" + "Go into the Window/VRSF/VR Interaction Parameters and set the UseControllers bool to true."); } _EventsDictionary = new Dictionary <string, GameEventTransform> { { "Right", _interactionContainer.RightObjectWasClicked }, { "Left", _interactionContainer.LeftObjectWasClicked }, { "Gaze", _interactionContainer.GazeObjectWasClicked }, }; _RaycastHitDictionary = new Dictionary <string, RaycastHitVariable> { { "Right", _interactionContainer.RightHit }, { "Left", _interactionContainer.LeftHit }, { "Gaze", _interactionContainer.GazeHit }, }; ScrollableSetup.CheckMinMaxGameObjects(handleRect.parent, UnityUIToVRSFUI.SliderDirectionToUIDirection(direction)); _ListenersDictionary = _uiSetup.CheckGameEventListenersPresence(gameEventListenersContainer, _ListenersDictionary); _ListenersDictionary = _uiSetup.SetGameEventListeners(_ListenersDictionary, _EventsDictionary, _gazeParameter.UseGaze); ScrollableSetup.SetMinMaxPos(ref _MinPosBar, ref _MaxPosBar, handleRect.parent); }