예제 #1
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_GameSystem curFsm = fsm as FSM_GameSystem;

            curFsm._testTimer = 5.0f;
        }
예제 #2
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_GameSystem curFsm = fsm as FSM_GameSystem;
            FSMActor_GameSystemController curOwner = owner as FSMActor_GameSystemController;

            //Judge GameOver
            if (curOwner.JudgeGameOverFunction())
            {
                curFsm.IsGameOver = true;
                return;
            }

            //Do Judge Eliminate
            curOwner.JudgeEliminateFunction();
            if (curOwner.GetEliminateRowList.Count > 0)
            {
                //Change State
                owner.ChangeState((int)GameSystemState_ID.Eliminate);
            }
            else
            {
                //Change State
                owner.ChangeState((int)GameSystemState_ID.SpawnNewBlock);
            }
        }
예제 #3
0
            public override void Enter(FSM fsm, FSMActor owner)
            {
                base.Enter(fsm, owner);
                FSMActor_Square curOwner = owner as FSMActor_Square;

                curOwner.InitDisappearFunction(_squareDisappearTime);
            }
예제 #4
0
 public override void Update(FSM fsm, FSMActor owner)
 {
     if (Input.GetMouseButtonDown(0))
     {
         owner.ChangeState((int)GameFlowState_ID.ShowScore);
     }
 }
예제 #5
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_Block      curFsm   = fsm as FSM_Block;
            FSMActor_Block curOwner = owner as FSMActor_Block;

            curOwner.InitDownTimer(curFsm._currentDownSpeed);
        }
예제 #6
0
 public override void Update(FSM fsm, FSMActor owner)
 {
     if (((FSM_GameFlow)fsm).IsGameOver)
     {
         //changeState
         owner.ChangeState((int)GameFlowState_ID.GameOver);
     }
 }
예제 #7
0
 public override void Update(FSM fsm, FSMActor owner)
 {
     if (Input.anyKeyDown)
     {
         //changeState
         owner.ChangeState((int)GameFlowState_ID.SelectDiff);
     }
 }
예제 #8
0
 public override void Update(FSM fsm, FSMActor owner)
 {
     if (((FSM_GameFlow)fsm).GetDifficulty() != -1)
     {
         //changeState
         owner.ChangeState((int)GameFlowState_ID.GamePlaying);
     }
 }
예제 #9
0
        public override void Update(FSM fsm, FSMActor owner)
        {
            FSM_GameFlow curFsm = fsm as FSM_GameFlow;

            if (curFsm.IsBackMenu)
            {
                owner.ChangeState((int)GameFlowState_ID.MainMenu);
            }
        }
예제 #10
0
        public override void Leave(FSM fsm, FSMActor owner)
        {
            FSM_GameFlow curFsm = fsm as FSM_GameFlow;

            UIManager.One.CloseUI(UIManager.UIModule.GameFlow_ShowScore);
            curFsm.IsBackMenu = false;
            //changeScene
            SceneManager.LoadScene("MainMenuScene");
        }
예제 #11
0
        public override void Leave(FSM fsm, FSMActor owner)
        {
            FSM_GameFlow curFsm = fsm as FSM_GameFlow;

            UIManager.One.CloseUI(UIManager.UIModule.GameFlow_GameOver);
            UIManager.One.CloseUI(UIManager.UIModule.GameFlow_GamePlaying);
            curFsm._isGameOver = false;
            //changeScene
            SceneManager.LoadScene("ScoreScene");
        }
예제 #12
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_GameSystem curFsm = fsm as FSM_GameSystem;
            FSMActor_GameSystemController curOwner = owner as FSMActor_GameSystemController;

            curOwner.GameTimer = FSMActor_GameSystemController.ReadyTime;
            //Open UI GamePlay_Ready
            UIManager.One.OpenUI(UIManager.UIModule.GamePlay_Ready);
        }
예제 #13
0
        public override void Update(FSM fsm, FSMActor owner)
        {
            base.Update(fsm, owner);
            FSMActor_Block curOwner = owner as FSMActor_Block;

            if (curOwner.UpdateDownTimer())
            {
                curOwner.ChangeState((int)BlockState_ID.JudgeDown);
            }
        }
예제 #14
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            //SpawnNewBlock
            BlockManager.One.SpawnNewBlock(0);

            //UpdateNextBlockUI

            //Change State
            owner.ChangeState((int)GameSystemState_ID.Wait);
        }
예제 #15
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_GameSystem curFsm = fsm as FSM_GameSystem;
            FSMActor_GameSystemController curOwner = owner as FSMActor_GameSystemController;

            //Do Eliminate
            curOwner.DoEliminate();
            //Change State
            owner.ChangeState((int)GameSystemState_ID.SpawnNewBlock);
        }
예제 #16
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            Debug.Log(((GameFlowState_ID)GetID()).ToString());
            FSM_GameFlow curFsm = fsm as FSM_GameFlow;

            curFsm.SetDifficulty(-1);

            //Open UI SelectDiff
            UIManager.One.OpenUI(UIManager.UIModule.GameFlow_GamePlaying);
            UIManager.One.GetUIObject(UIManager.UIModule.GameFlow_GamePlaying).gameObject.SetActive(false);
            UIManager.One.OpenUI(UIManager.UIModule.GameFlow_SelectDiff);
        }
예제 #17
0
            public override void Update(FSM fsm, FSMActor owner)
            {
                base.Update(fsm, owner);
                FSMActor_Square curOwner = owner as FSMActor_Square;

                curOwner.DisappearFunction();
                if (!curOwner.IsAlife)
                {
                    //change state
                    curOwner.ChangeState((int)SquareState_ID.Wait);
                }
            }
예제 #18
0
        public override void Update(FSM fsm, FSMActor owner)
        {
            base.Update(fsm, owner);
            FSM_GameSystem curFsm = fsm as FSM_GameSystem;
            FSMActor_GameSystemController curOwner = owner as FSMActor_GameSystemController;

            if (curOwner.GameTimer > 0)
            {
                curOwner.GameTimer -= Time.deltaTime;
            }
            if (curOwner.GameTimer < 0)
            {
                curOwner.GameTimer = 0;
                //Change State
                owner.ChangeState((int)GameSystemState_ID.SpawnNewBlock);
            }
        }
예제 #19
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            //Open UI GameFlow_GamePlaying
            GameObject GamePlayUIObj = UIManager.One.GetUIObject(UIManager.UIModule.GameFlow_GamePlaying);

            if (GamePlayUIObj != null)
            {
                GamePlayUIObj.gameObject.SetActive(true);
            }
            else
            {
                UIManager.One.OpenUI(UIManager.UIModule.GameFlow_GamePlaying);
            }
            //Change State
            owner.ChangeState((int)GameSystemState_ID.Ready);
        }
예제 #20
0
        public override void Enter(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            FSM_Block      curFsm   = fsm as FSM_Block;
            FSMActor_Block curOwner = owner as FSMActor_Block;

            //Judge
            if (curOwner.JudgeDirectFunction(SquareFSM.MoveDirection.Down))
            {
                curOwner.DoMoveFunction(SquareFSM.MoveDirection.Down);
                //change state
                curOwner.ChangeState((int)BlockState_ID.UpdateDownTimer);
            }
            else
            {
                //change state
                curOwner.ChangeState((int)BlockState_ID.Wait);
            }
        }
예제 #21
0
        public override void Update(FSM fsm, FSMActor owner)
        {
            base.Enter(fsm, owner);
            //Wait for Block Down

            //Change State
            //owner.ChangeState((int)GameSystemState_ID.JudgeEliminate);

            //Test
            FSM_GameSystem curFsm = fsm as FSM_GameSystem;

            if (curFsm._testTimer > 0)
            {
                curFsm._testTimer -= Time.deltaTime;
            }
            if (curFsm._testTimer < 0)
            {
                curFsm._testTimer = 0.0f;
                owner.ChangeState((int)GameSystemState_ID.SpawnNewBlock);
            }
        }
예제 #22
0
 public override void Enter(FSM fsm, FSMActor owner)
 {
     Debug.Log(((GameFlowState_ID)GetID()).ToString());
     UIManager.One.GetUIObject(UIManager.UIModule.GameFlow_GamePlaying).gameObject.SetActive(true);
 }
예제 #23
0
 public override void Enter(FSM fsm, FSMActor owner)
 {
     Debug.Log(((GameFlowState_ID)GetID()).ToString());
     UIManager.One.OpenUI(UIManager.UIModule.GameFlow_MainMenu);
 }
예제 #24
0
 public override void Leave(FSM fsm, FSMActor owner)
 {
     //Close UI SelectDiff
     UIManager.One.CloseUI(UIManager.UIModule.GameFlow_SelectDiff);
 }
예제 #25
0
 public override void Leave(FSM fsm, FSMActor owner)
 {
     UIManager.One.CloseUI(UIManager.UIModule.GameFlow_MainMenu);
     //changeScene
     SceneManager.LoadScene("InGameScene");
 }
예제 #26
0
 public override void Leave(FSM fsm, FSMActor owner)
 {
     base.Leave(fsm, owner);
     //changeScene
     SceneManager.LoadScene("MainMenuScene");
 }
예제 #27
0
 public override void Enter(FSM fsm, FSMActor owner)
 {
     base.Enter(fsm, owner);
     //changeState
     owner.ChangeState((int)GameFlowState_ID.MainMenu);
 }
예제 #28
0
 public override void Leave(FSM fsm, FSMActor owner)
 {
     base.Leave(fsm, owner);
     //Close UI GamePlay_Ready
     UIManager.One.CloseUI(UIManager.UIModule.GamePlay_Ready);
 }
예제 #29
0
 public override void Leave(FSM fsm, FSMActor owner)
 {
     //Close UI SelectDiff
     UIManager.One.GetUIObject(UIManager.UIModule.GameFlow_GamePlaying).gameObject.SetActive(false);
 }
예제 #30
0
 public override void Enter(FSM fsm, FSMActor owner)
 {
     Debug.Log(((GameFlowState_ID)GetID()).ToString());
     //Open UI GameOver
     UIManager.One.OpenUI(UIManager.UIModule.GameFlow_ShowScore);
 }