예제 #1
0
    private void Start()
    {
        Application.runInBackground = true;

        this.m_PStateMachine = new StateMachine <GameController>(this);
        this.m_PStateMachine.SetCurrentState(GameState_HomePage.Instance());
        this.m_PStateMachine.SetGlobalState(GameState_GlobalState.Instance());
    }
예제 #2
0
    private void HandleEvent(GameObject eventObj)
    {
        string eventObjTag = eventObj.tag;

        switch (eventObjTag)
        {
        case "HomePageStartGameButton":
        {
            break;
        }

        case "HomePageOptionsButton":
        {
            break;
        }

        case "HomePagePVEButton":
        {
            this.GameController.GameType      = GameType.PVE;
            this.GameController.MyFactionType = FactionType.Blue;
            this.GameController.GetFSM().ChangeState(GameState_BeforeStartGame.Instance());
            break;
        }

        case "HomePagePVPButton":
        {
            this.GameController.GameType = GameType.PVP;
            this.GameController.GetFSM().ChangeState(GameState_Matching.Instance());
            break;
        }

        case "GameResultBackToMenuButton":
        {
            Time.timeScale = 1;
            GameSceneController gameSceneCtrl = GameObject.Find("GameSceneController").GetComponent <GameSceneController>();
            gameSceneCtrl.BackToMainMenu();
            this.GameController.GetFSM().ChangeState(GameState_HomePage.Instance());
            break;
        }
        }
    }
예제 #3
0
 public static GameState_HomePage Instance()
 {
     return(instance ?? (instance = new GameState_HomePage()));
 }