diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs index edb273ec..cc98dfdc 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs @@ -188,12 +188,21 @@ namespace MyGame.Scenes.MiniGame.Scripts state.Value = GameState.Play; }).AddTo(this); + var playerTransform = player.transform; + characterBeginPos = playerTransform.position; + var cameraTransform = Camera.main.transform; + var cameraOffset = cameraTransform.position - characterBeginPos.x * Vector3.right; + state.Subscribe(x => { readyObject.SetActive(x == GameState.Ready); switch (x) { case GameState.Ready: + var playerPosX = playerTransform.position.x; + // カメラ移動 + cameraTransform.position = playerPosX * Vector3.right + cameraOffset; + bgManager.UpdatePos(playerPosX); break; case GameState.Play: SoundManager.Instance.PlaySE("se_minigame_Start"); @@ -213,17 +222,6 @@ namespace MyGame.Scenes.MiniGame.Scripts } }).AddTo(this); - var playerTransform = player.transform; - characterBeginPos = playerTransform.position; - var cameraTransform = Camera.main.transform; - var cameraOffset = cameraTransform.position - characterBeginPos.x * Vector3.right; - state.Where(x => x is GameState.Ready).Subscribe(_ => - { - var playerPosX = playerTransform.position.x; - // カメラ移動 - cameraTransform.position = playerPosX * Vector3.right + cameraOffset; - bgManager.ResetBg(playerPosX); - }).AddTo(this); this.UpdateAsObservable() .Where(_ => state.Value == GameState.Play) .Subscribe(_ => @@ -357,13 +355,14 @@ namespace MyGame.Scenes.MiniGame.Scripts { SoundManager.Instance.ChangeVolumeUniqueBGM(1f); ResetTimer(); + bgManager.ResetBg(characterBeginPos.x); // ステージ読み込み stageManager.SetBeginStages(); player.transform.position = characterBeginPos; player.ResetPlayer(); scoreCount.Value = 0; resultManager.Reset(); - state.Value = GameState.Ready; + state.SetValueAndForceNotify(GameState.Ready); } private static void UpdatePlayCount()