Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        private void Update()
        {
            if (_gameStarted)
            {
                return;
            }

            if (InputHelper.AnyButtonDown(SettingsInputName))
            {
                var settingPanel = GameObject.FindObjectOfType <SettingsPanelNavigationHandler>();

                if (settingPanel == null)
                {
                    var allNavigation = GetComponentsInChildren <UINavigation>();
                    foreach (var navigation in allNavigation)
                    {
                        navigation.Unfocus();
                    }

                    SettingsPanelNavigationHandler.OpenSettingsPanel(() =>
                    {
                        foreach (var navigation in allNavigation)
                        {
                            navigation.Focus();
                        }
                    });
                }
                else
                {
                    SettingsPanelNavigationHandler.CloseSettingsPanel();
                }
            }

            if (InputHelper.AnyButtonDown(AddCPUInputName))
            {
                var nextCharacterCPU = _characterSettings.FirstOrDefault(x => !x.isJoining);
                if (nextCharacterCPU != null)
                {
                    nextCharacterCPU.useCPU = true;
                }
            }

            if (InputHelper.AnyButtonDown(RemoveCPUInputName))
            {
                var lastCharacterCPU = _characterSettings.LastOrDefault(x => x.useCPU);
                if (lastCharacterCPU != null)
                {
                    lastCharacterCPU.useCPU = false;
                }
            }

            switch (_state)
            {
            case State.CharacterSelection:
                UpdateCharacterSelection();
                break;

            case State.MapSelection:
                UpdateMapSelection();
                break;

            case State.Transition:
                _elapsedSinceBack = Mathf.Max(0.0f, _elapsedSinceBack - GameplayStatics.gameDeltaTime);
                UpdateBackMask();
                break;
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="duration"></param>
        /// <returns></returns>
        private IEnumerator GamepadRumbleDuration(float duration)
        {
            yield return(new WaitForSecondsRealtime(duration));

            InputHelper.StopAllVibrations();
        }