/// <summary> /// 画面切り替え時に発生するイベントトリガー /// </summary> /// <param name="gameScreen">Game screen.</param> public override void ExcuteScreenChangeEvent(GameScreenPresenter gameScreen) { switch (gameScreen.mId) { //TODO 名前ベタ書きで判定しているがなんか良い方法があったら差し替える case "1_1": if (!mFinishedEvent1_1) { //TODO なんかもっと良さそうな方法がありそうなので後ほど考える //StartCoroutine("OpenGameSatrtEvent"); //ここにイベント実行 //mFinishedEvent1_1 = true; } break; case "1_3": if (!OnOpening) { StartCoroutine("OpenGameSatrtEvent"); OnOpening = true; //TODO なんかもっと良さそうな方法がありそうなので後ほど考える //gameScreen.gameObject.GetComponent<Alice_1_3> ().ExcuteEvent (); //ここにイベント実行 //mFinishedEvent1_3 = true; } break; default: break; } }
/// <summary> /// 画面切り替え時に発生するイベントトリガー /// </summary> /// <param name="gameScreen">Game screen.</param> public override void ExcuteScreenChangeEvent(GameScreenPresenter gameScreen) { switch (gameScreen.mId) { //TODO 名前ベタ書きで判定しているがなんか良い方法があったら差し替える case "1_1": break; case "1_3": break; default: break; } }
/// <summary> /// 画面切り替え時に発生するイベントトリガー /// </summary> /// <param name="gameScreen">Game screen.</param> public override void ExcuteScreenChangeEvent(GameScreenPresenter gameScreen) { switch (gameScreen.mId) { //TODO 名前ベタ書きで判定しているがなんか良い方法があったら差し替える case "1_2": if (!mFinishedEvent1_2) { //TODO なんかもっと良さそうな方法がありそうなので後ほど考える gameScreen.gameObject.GetComponent <Alice2_1_2>().ExcuteEvent(); //ここにイベント実行 mFinishedEvent1_2 = true; } break; } }
/// <summary> /// 画面切り替え時に発生するイベントトリガー /// </summary> /// <param name="gameScreen">Game screen.</param> public override void ExcuteScreenChangeEvent(GameScreenPresenter gameScreen) { switch (gameScreen.mId) { //TODO 名前ベタ書きで判定しているがなんか良い方法があったら差し替える case "1_1": if (!mFinishedEvent1_1) { //TODO なんかもっと良さそうな方法がありそうなので後ほど考える OpenGameEndEvent(); mFinishedEvent1_1 = true; } break; default: break; } }
/// <summary> /// プレイヤーの位置からゲームスクリーンを更新 /// </summary> /// <param name="player">Player.</param> public void UpdateGameScreneFromPlayerPostion(PlayerPresenter player) { if (mCurrentGameScreen != null) { DestroyImmediate(mCurrentGameScreen.gameObject); mCurrentGameScreen = null; } // プレハブを取得 GameObject prefab; if (GameManager.Instance.UseDirection) { prefab = (GameObject)Resources.Load("GameScreens/" + Application.loadedLevelName + "/" + player.Coordinate.x + "_" + player.Coordinate.y + "_" + player.CurrentDirection.ToString()); } else { prefab = (GameObject)Resources.Load("GameScreens/" + Application.loadedLevelName + "/" + player.Coordinate.x + "_" + player.Coordinate.y); } mCurrentGameScreen = PrefabFolder.InstantiateTo <GameScreenPresenter> (prefab, this.transform); }
/// <summary> /// 画面切り替え時に発生するイベントトリガー /// </summary> /// <param name="gameScreen">Game screen.</param> public abstract void ExcuteScreenChangeEvent(GameScreenPresenter gameScreen);
/// <summary> /// 画面切り替え時に発生するイベントトリガー /// </summary> /// <param name="gameScreen">Game screen.</param> public override void ExcuteScreenChangeEvent(GameScreenPresenter gameScreen) { }
public override void ExcuteScreenChangeEvent(GameScreenPresenter gameScreen) { print("ScreenChangeEvent: " + gameScreen); }