コード例 #1
0
ファイル: GameplayState.cs プロジェクト: pochp/fooziespublic
        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);
            }
        }
コード例 #2
0
        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
            }
        }
コード例 #3
0
ファイル: GameLoop.cs プロジェクト: pochp/fooziespublictest
    // 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());
    }
コード例 #4
0
 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
             }
         }
     }
 }
コード例 #5
0
ファイル: GameLoop.cs プロジェクト: pochp/fooziespublictest
 private void Awake()
 {
     deltaTime = 0;
     ApplicationStateManager.GetInstance().InitManager(CreateRenderers());
     ApplicationStateManager.GetInstance().SetMainMenu();
 }
コード例 #6
0
ファイル: BasicAi.cs プロジェクト: pochp/fooziespublic
        public virtual SinglePlayerInputs GetInputs()
        {
            var gameplayState = ApplicationStateManager.GetInstance().GetApplicationState();

            return(GetInputsDispatchState(gameplayState));
        }