using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class PhotomodeControllerManager : MonoBehaviour { [SerializeField] private GameObject[] _selectedItemCamera = new GameObject[2]; public float InputGetAxisHorizontalTestToSee; [SerializeField] private GameObject[] _selectedItemDepthOfField = new GameObject[3]; [SerializeField] private GameObject[] _selectedItemPicture = new GameObject[3]; [SerializeField] private GameObject[] _selectedItemColorFilters = new GameObject[2]; [SerializeField] private GameObject _selectedItemBorders; [SerializeField] private GameObject[] _selectedItemLogo = new GameObject[3]; [SerializeField] private GameObject[] _selectedItemPose = new GameObject[10]; [SerializeField] private int cameraPhotomodePanelSelectedItemIndex; [SerializeField] private int _depthOfFieldVerticalSelectedItemIndex; [SerializeField] private int _depthOfFieldVerticalIndexMAX; [SerializeField] private int _depthOfFieldHorizontalSelectedItemIndex; [SerializeField] private int _picturePhotomodePanelSelectedItemIndex; [SerializeField] private int _colorFiltersVerticalPhotomodePanelSelectedItemIndex; [SerializeField] private int _colorFiltersHorizontalPhotomodePanelSelectedItemIndex; [SerializeField] private int _logoVerticalSelectedItemIndex; [SerializeField] private int _logoVerticalIndexMAX; [SerializeField] private int _logoHorizontalSelectedItemIndex; [SerializeField] private int _poseVerticalSelectedItemIndex; [SerializeField] private int _poseVerticalIndexMAX; [SerializeField] private int[] _poseHorizontalSelectedItemIndex = new int[3]; [SerializeField] private Scrollbar colorFiltersScrollbarHorizontal; [SerializeField] private int _bordersHorizontalPhotomodePanelSelectedItemIndex; [SerializeField] private Scrollbar bordersScrollbarHorizontal; private bool _verticalButtonDpadHasBeingPressedDown; public bool _verticalButtonDpadIsPressedDown; public bool _horizontalButtonDpadUpIsPressedDown; bool _updateSelectedItem; private static PhotomodeControllerManager _instance; public static PhotomodeControllerManager GetInstance() { return _instance; } void Awake() { if (!_instance) { _instance = this; } } private void Update() { InputGetAxisHorizontalTestToSee = Input.GetAxis("DpadHorizontal"); } #region Photomode public void ControllerNavigation_CameraPhotomodePanel() { if (InputControlManager.Getinstance().IsUsingJoystick) { DpadNavigateVertical(ref cameraPhotomodePanelSelectedItemIndex, 1); switch (cameraPhotomodePanelSelectedItemIndex) { case 0: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._cameraFieldOfViewSlider.gameObject); DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._cameraFieldOfViewSlider, 1); _selectedItemCamera[0].SetActive(true); _selectedItemCamera[1].SetActive(false); break; case 1: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._cameraRollSlider.gameObject); DpadHorizontalSliderInvertedValuesUpdate(PhotomodeManager.GetInstance()._cameraRollSlider, 1); _selectedItemCamera[1].SetActive(true); _selectedItemCamera[0].SetActive(false); break; } } } public void ControllerNavigation_DepthOfFieldPanel() { if (InputControlManager.Getinstance().IsUsingJoystick) { if (PhotomodeManager.GetInstance().DepthOfFieldOn) { _depthOfFieldVerticalIndexMAX = 2; } else { _depthOfFieldVerticalIndexMAX = 0; } DpadNavigateVertical(ref _depthOfFieldVerticalSelectedItemIndex, _depthOfFieldVerticalIndexMAX); switch (_depthOfFieldVerticalSelectedItemIndex) { case 0: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemDepthOfField.Length; i++) { if (i == 0) { _selectedItemDepthOfField[i].SetActive(true); } else { _selectedItemDepthOfField[i].SetActive(false); } } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().DepthOfFieldON_Button, PhotomodeManager.GetInstance().DepthOfFieldOFF_Button); break; case 1: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemDepthOfField.Length; i++) { if (i == 1) { _selectedItemDepthOfField[i].SetActive(true); } else { _selectedItemDepthOfField[i].SetActive(false); } } } EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._DepthOfFieldNearBlurSlider.gameObject); DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._DepthOfFieldNearBlurSlider, 0.1875f); break; case 2: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemDepthOfField.Length; i++) { if (i == 2) { _selectedItemDepthOfField[i].SetActive(true); } else { _selectedItemDepthOfField[i].SetActive(false); } } } EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._DepthOfFieldFarBlurSlider.gameObject); DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._DepthOfFieldFarBlurSlider, 0.5f); break; } //if (_depthOfFieldVerticalSelectedItemIndex == 0) //{ // DpadNavigateHorizontal(ref _depthOfFieldHorizontalSelectedItemIndex, 1); // switch (_depthOfFieldHorizontalSelectedItemIndex) // { // case 0: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().DepthOfFieldON_Button.gameObject); // break; // case 1: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().DepthOfFieldOFF_Button.gameObject); // break; // } //} } } public void ControllerNavigation_Picture() { if (InputControlManager.Getinstance().IsUsingJoystick) { DpadNavigateVertical(ref _picturePhotomodePanelSelectedItemIndex, 2); switch (_picturePhotomodePanelSelectedItemIndex) { case 0: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._BrightnessSlider.gameObject); DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._BrightnessSlider, 0.015f); _selectedItemPicture[0].SetActive(true); _selectedItemPicture[1].SetActive(false); _selectedItemPicture[2].SetActive(false); break; case 1: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._SaturationSlider.gameObject); DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._SaturationSlider, 1.5f); _selectedItemPicture[0].SetActive(false); _selectedItemPicture[1].SetActive(true); _selectedItemPicture[2].SetActive(false); break; case 2: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._exposureSlider.gameObject); DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._exposureSlider, 0.025f); _selectedItemPicture[0].SetActive(false); _selectedItemPicture[1].SetActive(false); _selectedItemPicture[2].SetActive(true); break; } } } public void ControllerNavigation_ColorFilters() { if (InputControlManager.Getinstance().IsUsingJoystick) { DpadNavigateVertical(ref _colorFiltersVerticalPhotomodePanelSelectedItemIndex, 1); switch (_colorFiltersVerticalPhotomodePanelSelectedItemIndex) { case 0: DpadNavigateHorizontal(ref _colorFiltersHorizontalPhotomodePanelSelectedItemIndex, 8); if (_verticalButtonDpadIsPressedDown) { _selectedItemColorFilters[0].SetActive(true); _selectedItemColorFilters[1].SetActive(false); } if (_horizontalButtonDpadUpIsPressedDown) { switch (_colorFiltersHorizontalPhotomodePanelSelectedItemIndex) { case 0: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[0].gameObject); ColorFiltersManager.GetInstance().NoFilter(); colorFiltersScrollbarHorizontal.value = 0f; break; case 1: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[1].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(0); break; case 2: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[2].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(1); break; case 3: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[3].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(2); break; case 4: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[4].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(3); break; case 5: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[5].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(4); colorFiltersScrollbarHorizontal.value = 0.14f; break; case 6: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[6].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(5); colorFiltersScrollbarHorizontal.value = 0.43f; break; case 7: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[7].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(6); colorFiltersScrollbarHorizontal.value = 0.7f; break; case 8: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[8].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(7); colorFiltersScrollbarHorizontal.value = 1f; break; } } break; case 1: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance()._colorFilterIntensitySlider.gameObject); DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._colorFilterIntensitySlider, 0.015f); if (_verticalButtonDpadIsPressedDown) { _selectedItemColorFilters[0].SetActive(false); _selectedItemColorFilters[1].SetActive(true); } if (_horizontalButtonDpadUpIsPressedDown) { switch (_colorFiltersHorizontalPhotomodePanelSelectedItemIndex) { case 0: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[0].gameObject); ColorFiltersManager.GetInstance().NoFilter(); colorFiltersScrollbarHorizontal.value = 0f; break; case 1: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[1].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(0); break; case 2: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[2].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(1); break; case 3: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[3].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(2); break; case 4: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[4].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(3); break; case 5: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[5].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(4); colorFiltersScrollbarHorizontal.value = 0.14f; break; case 6: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[6].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(5); colorFiltersScrollbarHorizontal.value = 0.43f; break; case 7: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[7].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(6); colorFiltersScrollbarHorizontal.value = 0.7f; break; case 8: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ColorFilter[8].gameObject); ColorFiltersManager.GetInstance().FilterUpdate(7); colorFiltersScrollbarHorizontal.value = 1f; break; } } break; } } } public void ControllerNavigation_Borders() { if (InputControlManager.Getinstance().IsUsingJoystick) { _selectedItemBorders.SetActive(true); DpadNavigateHorizontal(ref _bordersHorizontalPhotomodePanelSelectedItemIndex, 6); if (_horizontalButtonDpadUpIsPressedDown) { switch (_bordersHorizontalPhotomodePanelSelectedItemIndex) { case 0: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[0].gameObject); PhotomodeManager.GetInstance().NoBorder(); bordersScrollbarHorizontal.value = 0f; break; case 1: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[1].gameObject); PhotomodeManager.GetInstance().BorderVignette(); break; case 2: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[2].gameObject); PhotomodeManager.GetInstance().BorderPolaroid(); break; case 3: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[3].gameObject); PhotomodeManager.GetInstance().BorderUpDownBlackBars(); break; case 4: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[4].gameObject); PhotomodeManager.GetInstance().BorderSideBlackBars(); break; case 5: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[5].gameObject); PhotomodeManager.GetInstance().BorderButterflies(); bordersScrollbarHorizontal.value = 0.14f; break; case 6: EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[6].gameObject); PhotomodeManager.GetInstance().BorderLISOriginalBoxArt(); bordersScrollbarHorizontal.value = 0.43f; break; //case 7: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[7].gameObject); // PhotomodeManager.GetInstance().SummertimeFilter(); // colorFiltersScrollbarHorizontal.value = 0.7f; // break; //case 8: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().BorderButton[8].gameObject); // PhotomodeManager.GetInstance().GreenForestFilter(); // colorFiltersScrollbarHorizontal.value = 1f; // break; } } } } public void ControllerNavigation_Logo() { if (InputControlManager.Getinstance().IsUsingJoystick) { if (PhotomodeManager.GetInstance().LogoVisibilityOn) { _logoVerticalIndexMAX = 3; } else { _logoVerticalIndexMAX = 0; } DpadNavigateVertical(ref _logoVerticalSelectedItemIndex, _logoVerticalIndexMAX); switch (_logoVerticalSelectedItemIndex) { case 0: for (int i = 0; i < _selectedItemLogo.Length; i++) { if (i == 0) { _selectedItemLogo[i].SetActive(true); } else { _selectedItemLogo[i].SetActive(false); } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().LogoVisibilityON_Button, PhotomodeManager.GetInstance().LogoVisibilityOFF_Button); break; case 1: for (int i = 0; i < _selectedItemLogo.Length; i++) { if (i == 1) { _selectedItemLogo[i].SetActive(true); } else { _selectedItemLogo[i].SetActive(false); } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().PreviousLogoLeftButton, PhotomodeManager.GetInstance().NextLogoRightButton); break; case 2: for (int i = 0; i < _selectedItemLogo.Length; i++) { if (i == 2) { _selectedItemLogo[i].SetActive(true); } else { _selectedItemLogo[i].SetActive(false); } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().LogoPositionLeftButton, PhotomodeManager.GetInstance().LogoPositionRightButton); break; case 3: for (int i = 0; i < _selectedItemLogo.Length; i++) { if (i == 3) { _selectedItemLogo[i].SetActive(true); } else { _selectedItemLogo[i].SetActive(false); } } DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._logoScaleSlider, 0.1f); break; } #region IDK BRO //if (_logoVerticalSelectedItemIndex == 0) //{ // DpadNavigateHorizontal(ref _logoHorizontalSelectedItemIndex, 1); // if (_verticalButtonDpadIsPressedDown) // { // for (int i = 0; i < _selectedItemLogo.Length; i++) // { // if (i == 0) // { // _selectedItemLogo[i].SetActive(true); // } // else // { // _selectedItemLogo[i].SetActive(false); // } // } // } // switch (_logoHorizontalSelectedItemIndex) // { // case 0: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().LogoVisibilityON_Button.gameObject); // break; // case 1: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().LogoVisibilityOFF_Button.gameObject); // break; // } //} #endregion } } public void ControllerNavigation_Pose() { if (InputControlManager.Getinstance().IsUsingJoystick) { if (PoseManager.Getinstance().eyesMotionON) { _poseVerticalIndexMAX = 9; } else { _poseVerticalIndexMAX = 7; } DpadNavigateVertical(ref _poseVerticalSelectedItemIndex, _poseVerticalIndexMAX); switch (_poseVerticalSelectedItemIndex) { case 0: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 0) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } //DpadNavigateHorizontal(ref _poseHorizontalSelectedItemIndex[0], 1); //switch (_poseHorizontalSelectedItemIndex[0]) //{ // case 0: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ShowPlayeON.gameObject); // break; // case 1: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ShowPlayerOFF.gameObject); // break; //} DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().ShowPlayeON, PhotomodeManager.GetInstance().ShowPlayerOFF); break; case 1: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 1) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } //DpadNavigateHorizontal(ref _poseHorizontalSelectedItemIndex[1], 1); //switch (_poseHorizontalSelectedItemIndex[1]) //{ // case 0: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ShowCompanionON.gameObject); // break; // case 1: // EventSystem.current.SetSelectedGameObject(PhotomodeManager.GetInstance().ShowCompanionOFF.gameObject); // break; //} DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().ShowCompanionON, PhotomodeManager.GetInstance().ShowCompanionOFF); break; case 2: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 2) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().PreviousFacePoseLeftButton, PhotomodeManager.GetInstance().NextFacePoseRightButton); break; case 3: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 3) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().PreviousBodyPoseLeftButton, PhotomodeManager.GetInstance().NextBodyPoseRightButton); break; case 4: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 4) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().PreviousOutfitLeftButton, PhotomodeManager.GetInstance().NextOutfitRightButton); break; case 5: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 5) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._headUpDownSlider, 0.02f); break; case 6: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 6) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._headLeftRightSlider, 0.1f); break; case 7: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 7) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadNavigateHorizontalButtonPress(PhotomodeManager.GetInstance().EyesControlON, PhotomodeManager.GetInstance().EyesControlOFF); break; case 8: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 8) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadHorizontalSliderValuesUpdate(PhotomodeManager.GetInstance()._eyesUpDownSlider, 1f); break; case 9: if (_verticalButtonDpadIsPressedDown) { for (int i = 0; i < _selectedItemPose.Length; i++) { if (i == 9) { _selectedItemPose[i].SetActive(true); } else { _selectedItemPose[i].SetActive(false); } } } DpadHorizontalSliderInvertedValuesUpdate(PhotomodeManager.GetInstance()._eyesLeftRightSlider, 1f); break; } } } #endregion private void DpadNavigateVertical(ref int CurrentSelectedItemIndex, int selectedItemIndexLast) { if (Input.GetAxis("DpadVertical") > 0 && !_verticalButtonDpadIsPressedDown) { CurrentSelectedItemIndex -= 1; print("DpadVertical UP"); if (CurrentSelectedItemIndex == -1) { CurrentSelectedItemIndex = selectedItemIndexLast; } if (_verticalButtonDpadIsPressedDown == false) { _verticalButtonDpadIsPressedDown = true; } } else if (Input.GetAxis("DpadVertical") < 0 && !_verticalButtonDpadIsPressedDown) { CurrentSelectedItemIndex += 1; print("DpadVertical DOWN"); if (CurrentSelectedItemIndex == selectedItemIndexLast + 1) { CurrentSelectedItemIndex = 0; } if (_verticalButtonDpadIsPressedDown == false) { _verticalButtonDpadIsPressedDown = true; } } else if (Input.GetAxis("DpadVertical") == 0) { _verticalButtonDpadIsPressedDown = false; } } private void DpadNavigateHorizontal(ref int CurrentSelectedItemIndex, int selectedItemIndexLast) { if (Input.GetAxis("DpadHorizontal") > 0 && !_horizontalButtonDpadUpIsPressedDown) { CurrentSelectedItemIndex += 1; print("DpadHorizontal right"); if (CurrentSelectedItemIndex == selectedItemIndexLast + 1) { CurrentSelectedItemIndex = 0; } _horizontalButtonDpadUpIsPressedDown = true; } else if (Input.GetAxis("DpadHorizontal") < 0 && !_horizontalButtonDpadUpIsPressedDown) { CurrentSelectedItemIndex -= 1; print("DpadHorizontal Left"); if (CurrentSelectedItemIndex == -1) { CurrentSelectedItemIndex = selectedItemIndexLast; } _horizontalButtonDpadUpIsPressedDown = true; } else if (Input.GetAxis("DpadHorizontal") == 0) { _horizontalButtonDpadUpIsPressedDown = false; } } private void DpadNavigateHorizontalButtonPress(Button buttonLeft, Button buttonRight) { if (Input.GetAxis("DpadHorizontal") > 0 && !_horizontalButtonDpadUpIsPressedDown) { buttonRight.onClick.Invoke(); print("DpadHorizontal right"); _horizontalButtonDpadUpIsPressedDown = true; } else if (Input.GetAxis("DpadHorizontal") < 0 && !_horizontalButtonDpadUpIsPressedDown) { buttonLeft.onClick.Invoke(); print("DpadHorizontal Left"); _horizontalButtonDpadUpIsPressedDown = true; } else if (Input.GetAxis("DpadHorizontal") == 0) { _horizontalButtonDpadUpIsPressedDown = false; } } private void DpadHorizontalSliderValuesUpdate(Slider slider, float speed) { if (Input.GetAxis("DpadHorizontal") > 0) { slider.value += speed; } else if (Input.GetAxis("DpadHorizontal") < 0) { slider.value -= speed; } } private void DpadHorizontalSliderInvertedValuesUpdate(Slider slider, float speed) { if (Input.GetAxis("dpadHorizontal") > 0) { slider.value -= speed; } else if (Input.GetAxis("dpadHorizontal") < 0) { slider.value += speed; } } }