Exemple #1
0
        /// <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);
        }
Exemple #6
0
        /// <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;
            }
        }
Exemple #7
0
        /// <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;
        }
Exemple #8
0
        /// <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]);
     }
 }
Exemple #10
0
        /// <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;
            }
        }
Exemple #11
0
        /// <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;
            }
        }
Exemple #17
0
 /// <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);
        }