void GameplayStateUpdate(SinglePlayerInputs _p1Inputs, SinglePlayerInputs _p2Inputs, bool skipRender = false) { //1.1 Check for pause? todo if (CurrentSplashState.CurrentState == SplashState.State.GameOver) { //check if any button is pressed to start a new game if (_p1Inputs.A || _p1Inputs.B || _p1Inputs.C || _p1Inputs.Start || _p2Inputs.A || _p2Inputs.B || _p2Inputs.C || _p2Inputs.Start) { ApplicationStateManager.GetInstance().SetCharacterSelectScreen(m_setData); } } else if (UpdateSplashScreen()) { } else if (m_previousState.RemainingHitstop > 0) { m_previousState.RemainingHitstop--; } else { //2. Sees if the inputs can be applied to current action GameState currentState = UpdateGameStateWithInputs(_p1Inputs, _p2Inputs, m_previousState); m_p1LastInputs = _p1Inputs; m_p2LastInputs = _p2Inputs; //3. Resolves actions MatchOutcome outcome = ResolveActions(_p1Inputs, _p2Inputs, currentState); //4. Checks if the match is over if (outcome.IsEnd()) { //Extra render on game end? GameplayRendererObject.RenderScene(m_previousState, Match, CurrentSplashState); HandleOutcome(outcome); CurrentSplashState.CurrentState = SplashState.State.RoundOver_ShowResult; CurrentSplashState.FramesRemaining = GameplayConstants.FRAMES_END_ROUND_SPLASH; //camera tests //isPanning = true; isRotating = true; } --currentState.RemainingTime; m_previousStates.Add(currentState); } if (!skipRender) { //5. Render Scene GameplayRendererObject.RenderScene(m_previousState, Match, CurrentSplashState); //6. Camera Tests CameraMoveTest(Match); } }
protected override void HandleMenuResult(MenuResult _result) { if (_result == MenuResult.Continue) { MatchInitializationData matchInitData = new MatchInitializationData(); matchInitData.P1_Character = DetermineSelectedCharacter(P1); matchInitData.P2_Character = DetermineSelectedCharacter(P2); m_currentSetData.SetMatchInitData(matchInitData); ApplicationStateManager.GetInstance().SetGameplayState(m_currentSetData); } else if (_result == MenuResult.Back) { ApplicationStateManager.GetInstance().SetMainMenu();//go to main menu } }
// Update is called once per frame void Update() { deltaTime = (Time.deltaTime);// - deltaTime);// * 0.1f; m_timeSinceLastUpdate += deltaTime; if (m_timeSinceLastUpdate > GameplayConstants.FRAME_LENGTH) { m_timeSinceLastUpdate -= GameplayConstants.FRAME_LENGTH; } else { return; } //1. Checks for inputs : done before ApplicationStateManager.GetInstance().UpdateCurrentState(GetAllInputs()); }
protected override void HandleMenuResult(MenuResult _result) { if (_result == MenuResult.Continue) { SetData set = new SetData(); if (P1.SelectionState == PlayerInMenu.SelectionStates.Confirmed) { if (P1.SelectedItem.ItemName == STR_CHARACTERSELECT) { ApplicationStateManager.GetInstance().SetCharacterSelectScreen(set); //go to character select screen } } if (P2.SelectionState == PlayerInMenu.SelectionStates.Confirmed) { if (P2.SelectedItem.ItemName == STR_CHARACTERSELECT) { ApplicationStateManager.GetInstance().SetCharacterSelectScreen(set); //go to character select screen } } } }
private void Awake() { deltaTime = 0; ApplicationStateManager.GetInstance().InitManager(CreateRenderers()); ApplicationStateManager.GetInstance().SetMainMenu(); }
public virtual SinglePlayerInputs GetInputs() { var gameplayState = ApplicationStateManager.GetInstance().GetApplicationState(); return(GetInputsDispatchState(gameplayState)); }