diff --git a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_MiniGame.controller b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_MiniGame.controller index 8f6080fc..e7be5531 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_MiniGame.controller +++ b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_MiniGame.controller @@ -104,7 +104,7 @@ AnimatorStateMachine: m_EntryPosition: {x: 50, y: 120, z: 0} m_ExitPosition: {x: 800, y: 120, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} - m_DefaultState: {fileID: 6624324581621275549} + m_DefaultState: {fileID: 5560102518252338052} --- !u!1102 &5560102518252338052 AnimatorState: serializedVersion: 5 diff --git a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_jump.anim b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_jump.anim index 8df6b73d..d17e368b 100644 --- a/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_jump.anim +++ b/popcorn/Assets/MyGame/Resource/Animation/Brother/Brother_pink_jump.anim @@ -835,7 +835,7 @@ AnimationClip: m_Level: 0 m_CycleOffset: 0 m_HasAdditiveReferencePose: 0 - m_LoopTime: 1 + m_LoopTime: 0 m_LoopBlend: 0 m_LoopBlendOrientation: 0 m_LoopBlendPositionY: 0 diff --git a/popcorn/Assets/MyGame/Resources/Sounds/SE/se_miingame_RemainingTimeLeft.wav b/popcorn/Assets/MyGame/Resources/Sounds/SE/se_minigame_RemainingTimeLeft.wav similarity index 100% rename from popcorn/Assets/MyGame/Resources/Sounds/SE/se_miingame_RemainingTimeLeft.wav rename to popcorn/Assets/MyGame/Resources/Sounds/SE/se_minigame_RemainingTimeLeft.wav diff --git a/popcorn/Assets/MyGame/Resources/Sounds/SE/se_miingame_RemainingTimeLeft.wav.meta b/popcorn/Assets/MyGame/Resources/Sounds/SE/se_minigame_RemainingTimeLeft.wav.meta similarity index 100% rename from popcorn/Assets/MyGame/Resources/Sounds/SE/se_miingame_RemainingTimeLeft.wav.meta rename to popcorn/Assets/MyGame/Resources/Sounds/SE/se_minigame_RemainingTimeLeft.wav.meta diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity b/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity index 5283119a..7f747a73 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity @@ -152,31 +152,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &169743260 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} - m_Name: - m_EditorClassIdentifier: - mTarget: {fileID: 175614541} ---- !u!114 &175614541 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 7322157960569866670, guid: 041c0f3d96c90d64094cc76c5c87c26f, - type: 3} - m_PrefabInstance: {fileID: 4559813503860727169} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &275350936 GameObject: m_ObjectHideFlags: 0 @@ -905,18 +880,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: mTarget: {fileID: 4559813503860727175} ---- !u!114 &1464096862 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 5034752975584991938, guid: 199214813202e5f478789161b538685b, - type: 3} - m_PrefabInstance: {fileID: 5034752974072861411} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &1657044091 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1187,19 +1150,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: mTarget: {fileID: 4559813503860727174} ---- !u!114 &1834858121 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} - m_Name: - m_EditorClassIdentifier: - mTarget: {fileID: 1464096862} --- !u!1 &1870432532 GameObject: m_ObjectHideFlags: 0 @@ -1267,7 +1217,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: isDebug: - value: 1 + value: 0 character: {fileID: 787907550} resetScoreButton: {fileID: 1725870973} resetPlayCountButton: {fileID: 2085388516} diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs index 0f7cae35..fb28d578 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs @@ -136,9 +136,11 @@ namespace MyGame.Scenes.MiniGame.Scripts switch (x) { case MenuState.StageSelect: + SoundManager.Instance.PlayBGM("bgm_Main"); resultManager.gameObject.SetActive(false); break; case MenuState.Game: + SoundManager.Instance.PlayBGM("bgm_minigame"); break; default: throw new ArgumentOutOfRangeException(nameof(x), x, null); @@ -153,6 +155,7 @@ namespace MyGame.Scenes.MiniGame.Scripts resultManager.OnClose.ThrottleFirst(TimeSpan.FromMilliseconds(.2f)).Subscribe(_ => { + SoundManager.Instance.ChangeVolumeUniqueBGM(1f); UpdatePlayCount(); scoreUpdate.OnNext(Unit.Default); menuState.Value = MenuState.StageSelect; @@ -166,7 +169,7 @@ namespace MyGame.Scenes.MiniGame.Scripts state.Value = GameState.Play; }).AddTo(this); - state.Debug("gameState").Subscribe(x => + state.Subscribe(x => { readyObject.SetActive(x == GameState.Ready); switch (x) @@ -174,15 +177,25 @@ namespace MyGame.Scenes.MiniGame.Scripts case GameState.Ready: break; case GameState.Play: - Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) + SoundManager.Instance.PlaySE("se_minigame_Start"); + var sharedTimer = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) .Select(time => (int)(timeLimit - time)) - .TakeWhile(time => time >= 0) + .TakeWhile(time => time > 0) + .Share(); + sharedTimer.Subscribe(time => + { + headerView.ChangeTimeCount(time); + }, () => + { + headerView.ChangeTimeCount(0f); + state.Value = GameState.Success; + }).AddTo(gameCompositeDisposable); + sharedTimer + .Where(time => time <= 5) + .Take(1) .Subscribe(time => { - headerView.ChangeTimeCount(time); - }, () => - { - state.Value = GameState.Success; + SoundManager.Instance.PlaySE("se_minigame_RemainingTimeLeft"); }).AddTo(gameCompositeDisposable); break; case GameState.Success: @@ -226,17 +239,20 @@ namespace MyGame.Scenes.MiniGame.Scripts return; } #if UNITY_EDITOR - var sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); - sphere.GetComponent().material.color = Color.red; - sphere.transform.SetLocalScale(.4f); - sphere.transform.position = x.ClosestPoint(playerTransform.position); - sphere.transform.SetPositionZ(-5f); - if (item.ItemType == StageItem.Type.Obstacle && isDebug) + if (isDebug) { - Observable.NextFrame().Subscribe(_ => - { - EditorApplication.isPaused = true; - }).AddTo(this); + var sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); + sphere.GetComponent().material.color = Color.red; + sphere.transform.SetLocalScale(.4f); + sphere.transform.position = x.ClosestPoint(playerTransform.position); + sphere.transform.SetPositionZ(-5f); + // if (item.ItemType == StageItem.Type.Obstacle) + // { + // Observable.NextFrame().Subscribe(_ => + // { + // EditorApplication.isPaused = true; + // }).AddTo(this); + // } } #endif x.enabled = false; @@ -257,6 +273,7 @@ namespace MyGame.Scenes.MiniGame.Scripts private void ResetGame(ScrollGamePlaceData[] placeList, ScrollGameStageData stageData) { + SoundManager.Instance.ChangeVolumeUniqueBGM(1f); stageManager.ResetStage(); player.transform.position = characterBeginPos; player.Stay(); @@ -274,8 +291,12 @@ namespace MyGame.Scenes.MiniGame.Scripts case GameState.Play: break; case GameState.Success: + SoundManager.Instance.PlaySE("se_minigame_End"); player.Stay(); - resultManager.ShowResult(scoreCount.Value, placeList, stageData); + this.CallWaitForSeconds(1f, () => + { + resultManager.ShowResult(scoreCount.Value, placeList, stageData); + }); break; case GameState.Failure: break; diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs index d059c26a..3ffa24ae 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/Player.cs @@ -62,6 +62,7 @@ namespace MyGame.Scenes.MiniGame.Scripts return; } + SoundManager.Instance.PlaySE("se_minigame_Jump"); animator?.Play("Brother_pink_jump"); isJump = true; jumpCoroutine = this.CallLerp(jumpTime, t => @@ -80,6 +81,7 @@ namespace MyGame.Scenes.MiniGame.Scripts { return; } + SoundManager.Instance.PlaySE("se_minigame_Collide"); animator?.Play("Brother_pink_FallDown"); isPreHit = true; hitDisposable?.Dispose(); @@ -93,6 +95,7 @@ namespace MyGame.Scenes.MiniGame.Scripts }, () => { isJump = false; + SoundManager.Instance.PlaySE("se_minigame_FallDown"); this.CallLerp(hitTime, t => { }, () => @@ -110,6 +113,7 @@ namespace MyGame.Scenes.MiniGame.Scripts public void AddCount() { + SoundManager.Instance.PlaySE("se_minigame_ItemGet"); count++; UpdateCount(); } diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs index e94559c0..eed1a092 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/ResultManager.cs @@ -37,6 +37,7 @@ namespace MyGame.Scenes.MiniGame.Scripts public void ShowResult(int score, ScrollGamePlaceData[] placeList, ScrollGameStageData stageData) { + SoundManager.Instance.ChangeVolumeUniqueBGM(.3f); var gameData = GameDataManager.GameData; var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ShopDataSheet);