/// <summary> /// /// </summary> /// <param name="data"></param> private void OnCancel(UINavigationData data) { if (_useCPU) { return; } switch (_state) { case State.Selecting: _state = State.NotJoining; _joinButton.gameObject.SetActive(true); _addCPUButton.gameObject.SetActive(true); _characterNameSelector.gameObject.SetActive(false); _characterBackground.color = Color.white; this.EmitSound(CancelSoundKey); UpdateCharacterInfo(); break; case State.Selected: this.EmitSound(CancelSoundKey); break; case State.Ready: _state = State.Selecting; _characterBackground.color = new Color(0.5f, 0.5f, 0.5f); this.EmitSound(CancelSoundKey); OnCharacterUnselected(); break; } }
/// <summary> /// /// </summary> /// <param name="action"></param> private void OnSubmit(UINavigationData action) { action.navigationHandler.Unfocus(); StopMusic(); switch (action.actionName) { case "Rematch": if (GameModeParams.instance.useRandomMap) { GameModeParams.instance.selectedMap = GetRandomMap(GameModeParams.instance.selectedMap); } GameplayStatics.TransitionToScene(GameModeParams.instance.selectedMap); break; case "QuitGame": GameplayStatics.TransitionToScene( GameConstants.TitleScreenScene ); break; default: MatchSettingsManager.showMaps = true; GameplayStatics.TransitionToScene( GameConstants.MatchSettingsScene ); break; } }
/// <summary> /// /// </summary> /// <param name="data"></param> private bool SelectorValueUpdate(UINavigationData data) { var nextOptionIndex = 0; switch (data.direction) { case UINavigationDirection.Right: nextOptionIndex = 1; break; case UINavigationDirection.Left: nextOptionIndex = -1; break; default: return(false); } var currentOptionIndex = _optionIndex; _optionIndex += nextOptionIndex; _optionIndex = Mathf.Clamp(_optionIndex, 0, _optionValues.Length - 1); return(currentOptionIndex != _optionIndex); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnSubmit(UINavigationData data) { var selectedItemPresenter = data.navigable.GetComponent <LoadoutItemPresenter>(); targetPresenter.item = selectedItemPresenter?.item; playerLoadoutSettings.ValidateItem(targetPresenter); }
/// <summary> /// /// </summary> /// <param name="action"></param> private void OnCancel(UINavigationData action) { var victoryScreen = FindObjectOfType <VictoryScreen>(); victoryScreen?.WaitForDisplayRematchPanel(); Destroy(transform.parent.parent.parent.gameObject); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnSubmit(UINavigationData data) { if (_useCPU) { return; } switch (_state) { case State.NotJoining: _state = State.Selecting; _joinButton.gameObject.SetActive(false); _addCPUButton.gameObject.SetActive(false); _characterNameSelector.gameObject.SetActive(true); _characterBackground.color = new Color(0.5f, 0.5f, 0.5f); this.EmitSound(JoinSoundKey); while (!matchSettingsManager.IsCharacterAvailable(characterDescriptor)) { GotoNextAvailableCharacter(); } UpdateCharacterInfo(); break; case State.Selecting: _characterBackground.color = Color.white; OnCharacterSelected(); break; } }
/// <summary> /// /// </summary> private void LateUpdate() { if (userIndex == InvalidUserIndex) { return; } var axisValues = new Vector2(GetHorizontalAxis(), GetVerticalAxis()); if (_lastAxisValues.x == 0.0f) { if (axisValues.x < 0.0f) { SendNavigation(UINavigationDirection.Left); } else if (axisValues.x > 0.0f) { SendNavigation(UINavigationDirection.Right); } } if (_lastAxisValues.y == 0.0f) { if (axisValues.y < 0.0f) { SendNavigation(UINavigationDirection.Down); } else if (axisValues.y > 0.0f) { SendNavigation(UINavigationDirection.Up); } } var actionName = string.Empty; int controllerIndex; if (GetSubmitState(out controllerIndex)) { var navigationData = new UINavigationData(_currentNavigable, this, _currentNavigable?.submitActionName); navigationData.controllerIndex = controllerIndex; SendMessage(OnSubmitMethodName, navigationData, SendMessageOptions.DontRequireReceiver); if (_currentNavigable?.gameObject != gameObject) { _currentNavigable?.SendMessage(OnSubmitMethodName, navigationData, SendMessageOptions.DontRequireReceiver); } } else if (GetCancelState(out controllerIndex)) { var navigationData = new UINavigationData(_currentNavigable, this, _currentNavigable?.cancelActionName); navigationData.controllerIndex = controllerIndex; SendMessage(OnCancelMethodName, navigationData, SendMessageOptions.DontRequireReceiver); if (_currentNavigable?.gameObject != gameObject) { _currentNavigable?.SendMessage(OnCancelMethodName, navigationData, SendMessageOptions.DontRequireReceiver); } } _lastAxisValues = axisValues; }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnNavigate(UINavigationData data) { if (_state != State.Selecting) { return; } switch (data.direction) { case UINavigationDirection.Up: _selectedSkinIndex += 1; break; case UINavigationDirection.Down: _selectedSkinIndex -= 1; break; case UINavigationDirection.Right: do { _selectedCharacterIndex += 1; _selectedCharacterIndex = MathExtensions.Mod(_selectedCharacterIndex, Bootstrap.instance.data.characters.Count); } while (!matchSettingsManager.IsCharacterAvailable(characterDescriptor)); _selectedSkinIndex = 0; break; case UINavigationDirection.Left: do { _selectedCharacterIndex -= 1; _selectedCharacterIndex = MathExtensions.Mod(_selectedCharacterIndex, Bootstrap.instance.data.characters.Count); } while (!matchSettingsManager.IsCharacterAvailable(characterDescriptor)); _selectedSkinIndex = 0; break; } while (_selectedSkinIndex < 0) { _selectedSkinIndex = characterDescriptor.skinDescriptors.Count; } _selectedSkinIndex %= characterDescriptor.skinDescriptors.Count; if (data.direction == UINavigationDirection.Up || data.direction == UINavigationDirection.Down) { return; } this.EmitSound(NavigateSoundKey); TweenExtensions.SafeComplete(ref _cycleSequence); _cycleSequence = DOTween.Sequence(); _cycleSequence.Append(transform.DOLocalMoveX(transform.position.x + 3f, 0.05f)); _cycleSequence.Append(transform.DOLocalMoveX(transform.position.x - 3f, 0.05f)); _cycleSequence.Append(transform.DOLocalMoveX(transform.position.x, 0.05f)); _cycleSequence.SetLoops(1); UpdateCharacterInfo(); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnNavigate(UINavigationData data) { if (SelectorValueUpdate(data)) { DisplayUpdate(); OnSelectedValueChanged(_optionValues[_optionIndex]); } }
/// <summary> /// /// </summary> /// <param name="data"></param> private IEnumerator OnSubmit(UINavigationData data) { var shakeTime = 0.5f; var shakeStrenght = 5f; var shakeVibrato = 50; switch (data.actionName) { case "Start": data.navigationHandler.Unfocus(); ShakeAllControllers(); MatchSettingsManager.showMaps = false; yield return(UITitleScreenPanel.titleScreenPanelInstance.playButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); UITitleScreenPanel.CloseTitleScreenPanel(); break; case "Settings": data.navigationHandler.Unfocus(); ShakeAllControllers(); yield return(UITitleScreenPanel.titleScreenPanelInstance.settingsButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(false); SettingsPanelNavigationHandler.OpenSettingsPanel(() => { data.navigationHandler.Focus(); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(true); }); break; case "Credits": data.navigationHandler.Unfocus(); ShakeAllControllers(); yield return(UITitleScreenPanel.titleScreenPanelInstance.creditsButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(false); var credits = FindObjectOfType <Credits>(); credits?.StartCredits(() => { data.navigationHandler.Focus(); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(true); }); UITitleScreenPanel.titleScreenPanelInstance.gameObject.SetActive(false); break; case "QuitGame": data.navigationHandler.Unfocus(); ShakeAllControllers(); MenuMusicController.StopMusic(); yield return(UITitleScreenPanel.titleScreenPanelInstance.quitButton.transform.DOShakePosition(shakeTime, shakeStrenght, shakeVibrato).WaitForCompletion()); GameplayStatics.TransitionToScene(GameConstants.SupportScene); break; } }
/// <summary> /// /// </summary> /// <param name="direction"></param> private void SendNavigation(UINavigationDirection direction) { var data = new UINavigationData(_currentNavigable, this, direction); SendMessage(OnNavigateMethodName, data, SendMessageOptions.DontRequireReceiver); TryMoveFocus(direction); if (gameObject != _currentNavigable?.gameObject) { _currentNavigable?.SendMessage(OnNavigateMethodName, data, SendMessageOptions.DontRequireReceiver); } }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnNavigate(UINavigationData data) { if (data.direction == UINavigationDirection.Up && currentNavigable != null && currentNavigable.up == null && panelNavigationHandler != null) { Unfocus(true); panelNavigationHandler.isNavigatingTabs = true; } }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnSubmit(UINavigationData data) { GameModeParams.instance.useRandomMap = _currentMapThumb.isRandom; if (_currentMapThumb.isRandom) { var random = Random.Range(1, _mapThumbsCount); SelectMap(random); } selectedMap = _currentMapThumb.mapInfo; SetFocus(false); transform.DOShakePosition(0.3f, 10.0f, 50); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnNavigate(UINavigationData data) { switch (data.direction) { case UINavigationDirection.Right: IncrMap(+1); break; case UINavigationDirection.Left: IncrMap(-1); break; } }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnSubmit(UINavigationData data) { switch (data.actionName) { case ReadyActionName: playerLoadoutSettings.isReady = true; GetComponent <UINavigation>().Unfocus(); break; case LoadoutSlotActionName: var itemPresenter = data.navigable.GetComponent <LoadoutItemPresenter>(); playerLoadoutSettings.GoToArmory(itemPresenter); break; } }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnSubmit(UINavigationData data) { switch (data.actionName) { case "Resume": GameplayStatics.UnpauseGame(); break; case "Rematch": StopMusic(); GameplayStatics.TransitionToScene( UnityEngine.SceneManagement.SceneManager.GetActiveScene().name ); break; case "Settings": data.navigationHandler.Unfocus(); _pausePanel.gameObject.SetActive(false); SettingsPanelNavigationHandler.OpenSettingsPanel(() => { _pausePanel.gameObject.SetActive(true); data.navigationHandler.Focus(); }); break; case "QuitGame": StopMusic(); GameplayStatics.TransitionToScene( GameConstants.TitleScreenScene ); break; case "ChangeMap": MatchSettingsManager.showMaps = true; StopMusic(); GameplayStatics.TransitionToScene( GameConstants.MatchSettingsScene ); break; } }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnNavigate(UINavigationData data) { DoCheck(SoundEventEmitterMessage.OnNavigate); }
/// <summary> /// /// </summary> /// <param name="action"></param> private void OnCancel(UINavigationData action) { CloseSettingsPanel(); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnCancel(UINavigationData data) { GameplayStatics.UnpauseGame(); }
/// <summary> /// /// </summary> /// <param name="action"></param> private void OnCancel(UINavigationData action) { SettingsPanelNavigationHandler.CloseSettingsPanel(); }
/// <summary> /// /// </summary> /// <param name="data"></param> private void OnNavigate(UINavigationData data) { switch (data.direction) { case UINavigationDirection.Right: case UINavigationDirection.Left: if (_currentItemPresenterIndex % ColumnCount == 0) { if (_currentItemPresenterIndex == _loadoutItemPresenters.Count - 1) { break; } _currentItemPresenterIndex += 1; } else { _currentItemPresenterIndex -= 1; } break; case UINavigationDirection.Down: _currentItemPresenterIndex += 2; if (_currentItemPresenterIndex % ColumnCount == ColumnCount - 1) { if (_currentItemPresenterIndex == _loadoutItemPresenters.Count) { _currentItemPresenterIndex = _loadoutItemPresenters.Count - 1; } else { _currentItemPresenterIndex %= _loadoutItemPresenters.Count; } } else { if (_currentItemPresenterIndex == _loadoutItemPresenters.Count + 1) { _currentItemPresenterIndex = 0; } _currentItemPresenterIndex %= _loadoutItemPresenters.Count; } break; case UINavigationDirection.Up: _currentItemPresenterIndex -= 2; if (_currentItemPresenterIndex < 0) { if (_loadoutItemPresenters.Count % ColumnCount == 0) { _currentItemPresenterIndex += _loadoutItemPresenters.Count; } else { _currentItemPresenterIndex = _loadoutItemPresenters.Count - 1; } } break; } FocusItemPresenter(_currentItemPresenterIndex); }