/***************************************************************** * Awake *****************************************************************/ void Awake() { //ゲームの状態を管理する Game_Scene_T = GAME_STATE_TYPE.PREPARATE; //デバイスの認識が完了したかどうか device_flag = false; //接続されているデバイスを取得 StartCoroutine("CreatePlayer"); controllers.Clear(); }
/***************************************************************** * // Update is called once per frame *****************************************************************/ void Update() { //GAME_STATE_TYPEの更新 switch (Game_Scene_T) { case GameDirector.GAME_STATE_TYPE.PREPARATE: //全ての事前準備が終わったら if (device_flag) { Game_Scene_T = GAME_STATE_TYPE.PRE_GAME; } break; case GameDirector.GAME_STATE_TYPE.PRE_GAME: //ゲーム開始直前の1Fだけ foreach (var controller in controllers) { controller.ControllerInitialize(); } Game_Scene_T = GAME_STATE_TYPE.GAME; break; case GameDirector.GAME_STATE_TYPE.GAME: foreach (var controller in controllers) { controller.ControllerUpdate(); } break; case GameDirector.GAME_STATE_TYPE.POST_GAME: foreach (var controller in controllers) { controller.ControllerFinalize(); } break; default: break; } }
public void AdvanceState(GAME_STATE_TYPE _state) { IState <CKGameManager> st = GetGameState(_state); gameStateStack.AdvanceState(ref st); }
// Get the specific game state from the Dictionary IState <CKGameManager> GetGameState(GAME_STATE_TYPE _gs) { return(gameStateMap[_gs]); }