public static StateBase New(GameState state) { StateBase gameState; switch (state) { case GameState.Login: gameState = new StateLogin(); break; case GameState.Hall: gameState = new StateHall(); break; case GameState.Mall: gameState = new StateMall(); break; case GameState.Rank: gameState = new StateRank(); break; case GameState.CreateRoom: gameState = new StateCreateRoom(); break; default: return(null); } gameState.State = state; return(gameState); }
// 各ステート実体化 void EachStateOfInstance() { var canvas = GameObject.FindObjectOfType <Canvas> (); var prefab = Resources.Load <GameObject> ("Prefab/RoomScene/Room_Select"); m_selectState = GameObject.Instantiate(prefab, canvas.transform).GetComponent <StateSelect> (); m_selectState.gameObject.SetActive(true); prefab = Resources.Load <GameObject> ("Prefab/RoomScene/Room_NameSet"); m_createState = GameObject.Instantiate(prefab, canvas.transform).GetComponent <StateCreateRoom> (); m_createState.gameObject.SetActive(false); prefab = Resources.Load <GameObject> ("Prefab/RoomScene/Room_NameEnter"); m_joinState = GameObject.Instantiate(prefab, canvas.transform).GetComponent <StateJoinRoom> (); m_joinState.gameObject.SetActive(false); prefab = Resources.Load <GameObject> ("Prefab/RoomScene/Room_Wait"); m_waitState = GameObject.Instantiate(prefab, canvas.transform).GetComponent <StateWait> (); m_waitState.gameObject.SetActive(false); }