IEnumerator MoveArea1ToEx() { //ポーズや、プレイヤーの操作などを不可能にする // OnCanShiftOperation(false); mPause.canPause = false; CanInputPlayer(false); CanMovePlayer(false); CanJumpPlayer(false); //行き先のエリアのドアを、開かせる mExToArea1Door.mOpenForce = true; mEnterUI.StopAnimation(); // //フェード // mFade.FadeInStart(1.0f); while (true) { if (mFade.IsFadeIn() == false) { break; } yield return(null); } //行き先のエリアのプレートを点灯 SetEnterColor(21); //プレイヤーの位置を変更 Goal g = mExToArea1Door; Vector3 lNewPlayerPosition = g.transform.position; lNewPlayerPosition += g.transform.rotation * Vector3.up * 1.0f; lNewPlayerPosition.z = 0.0f; mPlayer.transform.position = lNewPlayerPosition; //カメラの位置を変更 mCameraMove.transform.position = mStageSelectScroll.mAreaCameraPosition[3].transform.position; mFade.FadeOutStart(1.0f); while (true) { if (mFade.IsFadeOut() == false) { break; } yield return(null); } //ポーズや、プレイヤーの操作などを可能にする // OnCanShiftOperation(true); mPause.canPause = true; CanInputPlayer(true); CanMovePlayer(true); CanJumpPlayer(true); }
IEnumerator OpeningCoroutine() { // //初期化 // Player lPlayer = FindObjectOfType <Player>(); //プレイヤーコンポーネントを切る lPlayer.enabled = false; //プレイヤーのモデルが少しだけこちらを向いているのを戻す lPlayer.CameraLookRatio = 0.0f; lPlayer.LookCamera(); //プレイヤーの見た目の重さを0にする lPlayer.GetComponent <WeightManager>().WeightLvSeem = WeightManager.Weight.flying; //プレイヤーのアニメーションを止める lPlayer.GetComponent <PlayerAnimation>().StartNone(); //BGMの再生 SoundManager.SPlay(mBGMPrefab); //フェードイン // //黒フェードでフェードイン mSceneFade.FadeOutStart(); //フェードインが終わるまで待機 while (true) { if (mSceneFade.IsFadeOut() == false) { break; } yield return(null); } //待機 yield return(new WaitForSeconds(1.0f)); // //プレイヤーが起動する // //プレイヤーの見た目の重さを1にする FindObjectOfType <Player>().GetComponent <WeightManager>().WeightLvSeem = WeightManager.Weight.light; //プレイヤーの起動音の再生 SoundManager.SPlay(mAwakeSEPrefab); //プレイヤーのアニメーションを再生 lPlayer.GetComponent <PlayerAnimation>().ChangeState(PlayerAnimation.CState.cStandBy); //待機 yield return(new WaitForSeconds(3.0f)); // //カメラのズームを戻す // //カメラの目標地点の設定 mCamera.GetComponent <OpeningCameraMove>().mTarget = mCameraZoomOutPosition.transform.position; mCamera.GetComponent <OpeningCameraMove>().mSpeed = 10.0f; mCamera.GetComponent <OpeningCameraMove>().mIsMove = true; //カメラが移動完了するまで待つ while (true) { if (mCamera.GetComponent <OpeningCameraMove>().IsReach) { break; } yield return(null); } // //カプセルを開く // //カプセルを開く mCapsuleAnimator.SetBool("IsOpen", true); //カプセルが開く音の再生 SoundManager.SPlay(mOpenSEPrefab); //待機 yield return(new WaitForSeconds(3.0f)); // //プレイヤーが歩き出す // const float cWalkSpeed = 2.0f; //歩くアニメーションの再生 lPlayer.GetComponent <PlayerAnimation>().SetSpeed(0.5f * cWalkSpeed); lPlayer.GetComponent <PlayerAnimation>().ChangeState(PlayerAnimation.CState.cWalk); //歩く処理 float lTime = 0.0f; while (true) { lPlayer.transform.position += Vector3.right * Time.deltaTime * cWalkSpeed; lTime += Time.deltaTime; if (lTime >= 1.5f) { break; //終了 } yield return(null); } //歩くアニメーションを止める lPlayer.GetComponent <PlayerAnimation>().ChangeState(PlayerAnimation.CState.cStandBy); //待機 yield return(new WaitForSeconds(1.0f)); // //あたりを見回す // //見回すアニメーションの再生 lPlayer.GetComponent <PlayerAnimation>().StartFind(); //待機 yield return(new WaitForSeconds(1.5f)); // //脱出マークを見つけて驚く処理 // //驚く音の再生 SoundManager.SPlay(mSurpriseSEPrefab); //驚くアイコンの表示 mSurpriseIcon.SetActive(true); //驚いている間、待機 yield return(new WaitForSeconds(2.5f)); //驚くアイコンの表示 mSurpriseIcon.SetActive(false); //驚き終わった後の待機 yield return(new WaitForSeconds(0.5f)); // //画面外まで歩いていく // //歩くアニメーションの再生 lPlayer.GetComponent <PlayerAnimation>().ChangeState(PlayerAnimation.CState.cWalk); //歩く処理 lTime = 0.0f; while (true) { lPlayer.transform.position += Vector3.right * Time.deltaTime * cWalkSpeed; lTime += Time.deltaTime; if (lTime >= 4.5f) { break; //終了 } yield return(null); } //画面外に出た後の待機 yield return(new WaitForSeconds(0.5f)); //フェードアウト // //ドアフェードで、フェードアウト mStageTransition.CloseDoorParent(); //フェードインが終わるまで待機 while (true) { if (mStageTransition.GetCloseEnd() == true) { break; } yield return(null); } //チュートリアルへシーン遷移 yield return(UnityEngine.SceneManagement.SceneManager.LoadSceneAsync("Tutorial-1")); yield return(null); }