/// <summary> /// /// </summary> /// <returns></returns> protected IEnumerator ShowControlsScheme() { if (GameModeParams.instance.firstGame && GameModeParams.instance.playerParams.Any(x => x.isPlaying && !x.isAiControlled)) { Time.timeScale = 0.0f; var panel = UIControlsSchemePanel.OpenControlsSchemePanel(); var panelTransform = panel.transform; panelTransform.position = Vector3.right * 1024.0f; yield return(new WaitForSecondsRealtime(0.5f)); panelTransform.DOMoveX(0.0f, 1.0f).SetUpdate(true); yield return(new WaitUntil(() => panelTransform.position.x == 0.0f)); panel.canFlip = true; yield return(new WaitUntil(() => InputHelper.AnyButtonDown(UISubmitInputName))); panelTransform.DOMoveX(-1024.0f, 1.0f).SetUpdate(true) .onComplete += (() => { UIControlsSchemePanel.CloseControlsSchemePanel(); }); GameModeParams.instance.firstGame = false; Time.timeScale = 1.0f; } }
/// <summary> /// /// </summary> protected override void LateUpdate() { base.LateUpdate(); if (Debug.isDebugBuild) { if (InputHelper.AnyButtonDown("Gameplay_Activate")) { if (!AIBehaviour.easyMode) { var characters = FindObjectsOfType <Character>(); var index = -1; for (var i = 0; i < characters.Length; ++i) { if (characters[i].GetComponent <CharacterMarketingZoom>()) { index = i; break; } } ++index; index = Mathf.Min(characters.Length - 1, index); characters[index].ToggleMarketingZoom(); } } } }
/// <summary> /// /// </summary> /// <param name="prevState"></param> /// <returns></returns> private bool CheckTransitionBack(State prevState) { if (InputHelper.AnyButtonDown(CancelInputName)) { this.EmitSound(BackStartSoundKey); } if (InputHelper.AnyButton(CancelInputName)) { _elapsedSinceBack += GameplayStatics.gameDeltaTime; if (_elapsedSinceBack >= _backTimeout) { this.EmitSound(BackEndSoundKey); Transition(prevState); return(true); } } else { _elapsedSinceBack = Mathf.Max(0.0f, _elapsedSinceBack - GameplayStatics.gameDeltaTime); } UpdateBackMask(); return(false); }
/// <summary> /// /// </summary> private void Update() { if (InputHelper.AnyButtonDown(StartActionName)) { SettingsPanelNavigationHandler.CloseSettingsPanel(); } }
/// <summary> /// /// </summary> /// <param name="index"></param> /// <returns></returns> private bool GetCancelState(out int index) { if (userIndex == -1) { return(InputHelper.AnyButtonDown(InputCancelName, out index)); } index = userIndex; return(_playerController.GetButtonDown(InputCancelName)); }
/// <summary> /// /// </summary> protected virtual void LateUpdate() { if (hasGameStarted && !_isGameOver && InputHelper.AnyButtonDown(UIStartInputName)) { GameplayStatics.TogglePause(); } if (!isGameOver && GameplayStatics.state == GameplayState.GamePaused) { Telemetry.game.Incr("timeInPause", GameplayStatics.pauseDeltaTime); } }
/// <summary> /// /// </summary> private void UpdateCharacterSelection() { if (CheckTransitionBack(State.None)) { GameplayStatics.TransitionToScene(GameConstants.TitleScreenScene); return; } UpdateControllers(); var allReady = _characterSettings.Where(x => x.isJoining).All(x => x.hasSelected); var playersReady = _characterSettings.Where(x => x.isReady).ToArray(); var playersReadyCount = playersReady.Count(x => x.isReady); var playersJoinCount = _characterSettings.Count(x => x.isJoining); var enoughPlayers = playersReadyCount >= (Debug.isDebugBuild ? 1 : MinimumNumberOfPlayers); if (playersJoinCount < 2 && playersReadyCount >= 1 && !Debug.isDebugBuild) { _playerMinPrompt.Open(); } else if (_playerMinPrompt.isOpen) { _playerMinPrompt.Close(); } if (allReady && enoughPlayers) { if (!_continuePrompt.isOpen) { _continuePrompt.Open(); } } else if (_continuePrompt.isOpen) { _continuePrompt.Close(); } if (_continuePrompt.isOpen) { int controllerIndex; if (InputHelper.AnyButtonDown(SubmitInputName, out controllerIndex)) { if (playersReady.Any(x => x.controllerIndex == controllerIndex && x.isReady) || playersReady.All(x => x.useCPU)) { GotoMapSelection(); } } } }
/// <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; } }