void SetGenericButtonsNavigations(MultiInputButton itemUp) { for (int i = 0; i < _genericButtons.Length; i++) { Navigation newNavigation = new Navigation(); newNavigation.mode = Navigation.Mode.Explicit; if (i + 1 < _genericButtons.Length) { newNavigation.selectOnRight = _genericButtons[i + 1].gameObject.GetComponent <MultiInputButton>(); } if (i - 1 > 0) { newNavigation.selectOnLeft = _genericButtons[i - 1].gameObject.GetComponent <MultiInputButton>(); } newNavigation.selectOnUp = itemUp; } }
public void SetNavigation(MultiInputButton buttonToSelectOnDown, MultiInputButton buttonToSelectOnUp) { MultiInputButton[] buttonNavigation = GetComponentsInChildren <MultiInputButton>(); foreach (MultiInputButton button in buttonNavigation) { Navigation newNavigation = new Navigation(); newNavigation.mode = Navigation.Mode.Explicit; if (buttonToSelectOnDown != null) { newNavigation.selectOnDown = buttonToSelectOnDown; } if (buttonToSelectOnDown != null) { newNavigation.selectOnUp = buttonToSelectOnUp; } newNavigation.selectOnLeft = button.navigation.selectOnLeft; newNavigation.selectOnRight = button.navigation.selectOnRight; button.navigation = newNavigation; } }
private void Start() { _listSettingItems = GetComponentsInChildren <UISettingItemFiller>(); _genericButtons = GetComponentsInChildren <UIGenericButton>(); MultiInputButton buttonToSelectOnDown = default; MultiInputButton buttonToSelectOnUp = default; for (int i = 0; i < _listSettingItems.Length; i++) { Navigation newNavigation = new Navigation(); newNavigation.mode = Navigation.Mode.Explicit; newNavigation.selectOnLeft = _listSettingItems[i].gameObject.GetComponent <MultiInputButton>().navigation.selectOnLeft; newNavigation.selectOnRight = _listSettingItems[i].gameObject.GetComponent <MultiInputButton>().navigation.selectOnRight; if (i + 1 < _listSettingItems.Length) { buttonToSelectOnDown = _listSettingItems[i + 1].gameObject.GetComponent <MultiInputButton>(); } else if (_genericButtons.Length > 0) { buttonToSelectOnDown = _genericButtons[0].gameObject.GetComponent <MultiInputButton>(); SetGenericButtonsNavigations(_listSettingItems[i].gameObject.GetComponent <MultiInputButton>()); } if (i - 1 >= 0) { buttonToSelectOnUp = _listSettingItems[i - 1].gameObject.GetComponent <MultiInputButton>(); } newNavigation.selectOnDown = buttonToSelectOnDown; newNavigation.selectOnUp = buttonToSelectOnUp; _listSettingItems[i].gameObject.GetComponent <MultiInputButton>().navigation = newNavigation; _listSettingItems[i].SetNavigation(buttonToSelectOnDown, buttonToSelectOnUp); } }