BGM/SE実装
This commit is contained in:
parent
29b07d1f81
commit
bfbb5db400
|
|
@ -136,9 +136,11 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
switch (x)
|
switch (x)
|
||||||
{
|
{
|
||||||
case MenuState.StageSelect:
|
case MenuState.StageSelect:
|
||||||
|
SoundManager.Instance.PlayBGM("bgm_Main");
|
||||||
resultManager.gameObject.SetActive(false);
|
resultManager.gameObject.SetActive(false);
|
||||||
break;
|
break;
|
||||||
case MenuState.Game:
|
case MenuState.Game:
|
||||||
|
SoundManager.Instance.PlayBGM("bgm_minigame");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new ArgumentOutOfRangeException(nameof(x), x, null);
|
throw new ArgumentOutOfRangeException(nameof(x), x, null);
|
||||||
|
|
@ -153,6 +155,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
|
|
||||||
resultManager.OnClose.ThrottleFirst(TimeSpan.FromMilliseconds(.2f)).Subscribe(_ =>
|
resultManager.OnClose.ThrottleFirst(TimeSpan.FromMilliseconds(.2f)).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
|
SoundManager.Instance.ChangeVolumeUniqueBGM(1f);
|
||||||
UpdatePlayCount();
|
UpdatePlayCount();
|
||||||
scoreUpdate.OnNext(Unit.Default);
|
scoreUpdate.OnNext(Unit.Default);
|
||||||
menuState.Value = MenuState.StageSelect;
|
menuState.Value = MenuState.StageSelect;
|
||||||
|
|
@ -166,7 +169,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
state.Value = GameState.Play;
|
state.Value = GameState.Play;
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
state.Debug("gameState").Subscribe(x =>
|
state.Subscribe(x =>
|
||||||
{
|
{
|
||||||
readyObject.SetActive(x == GameState.Ready);
|
readyObject.SetActive(x == GameState.Ready);
|
||||||
switch (x)
|
switch (x)
|
||||||
|
|
@ -174,15 +177,25 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
case GameState.Ready:
|
case GameState.Ready:
|
||||||
break;
|
break;
|
||||||
case GameState.Play:
|
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))
|
.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 =>
|
.Subscribe(time =>
|
||||||
{
|
{
|
||||||
headerView.ChangeTimeCount(time);
|
SoundManager.Instance.PlaySE("se_minigame_RemainingTimeLeft");
|
||||||
}, () =>
|
|
||||||
{
|
|
||||||
state.Value = GameState.Success;
|
|
||||||
}).AddTo(gameCompositeDisposable);
|
}).AddTo(gameCompositeDisposable);
|
||||||
break;
|
break;
|
||||||
case GameState.Success:
|
case GameState.Success:
|
||||||
|
|
@ -257,6 +270,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
|
|
||||||
private void ResetGame(ScrollGamePlaceData[] placeList, ScrollGameStageData stageData)
|
private void ResetGame(ScrollGamePlaceData[] placeList, ScrollGameStageData stageData)
|
||||||
{
|
{
|
||||||
|
SoundManager.Instance.ChangeVolumeUniqueBGM(1f);
|
||||||
stageManager.ResetStage();
|
stageManager.ResetStage();
|
||||||
player.transform.position = characterBeginPos;
|
player.transform.position = characterBeginPos;
|
||||||
player.Stay();
|
player.Stay();
|
||||||
|
|
@ -274,8 +288,12 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
case GameState.Play:
|
case GameState.Play:
|
||||||
break;
|
break;
|
||||||
case GameState.Success:
|
case GameState.Success:
|
||||||
|
SoundManager.Instance.PlaySE("se_minigame_End");
|
||||||
player.Stay();
|
player.Stay();
|
||||||
resultManager.ShowResult(scoreCount.Value, placeList, stageData);
|
this.CallWaitForSeconds(1f, () =>
|
||||||
|
{
|
||||||
|
resultManager.ShowResult(scoreCount.Value, placeList, stageData);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
case GameState.Failure:
|
case GameState.Failure:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SoundManager.Instance.PlaySE("se_minigame_Jump");
|
||||||
animator?.Play("Brother_pink_jump");
|
animator?.Play("Brother_pink_jump");
|
||||||
isJump = true;
|
isJump = true;
|
||||||
jumpCoroutine = this.CallLerp(jumpTime, t =>
|
jumpCoroutine = this.CallLerp(jumpTime, t =>
|
||||||
|
|
@ -80,6 +81,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
SoundManager.Instance.PlaySE("se_minigame_Collide");
|
||||||
animator?.Play("Brother_pink_FallDown");
|
animator?.Play("Brother_pink_FallDown");
|
||||||
isPreHit = true;
|
isPreHit = true;
|
||||||
hitDisposable?.Dispose();
|
hitDisposable?.Dispose();
|
||||||
|
|
@ -93,6 +95,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
}, () =>
|
}, () =>
|
||||||
{
|
{
|
||||||
isJump = false;
|
isJump = false;
|
||||||
|
SoundManager.Instance.PlaySE("se_minigame_FallDown");
|
||||||
this.CallLerp(hitTime, t =>
|
this.CallLerp(hitTime, t =>
|
||||||
{
|
{
|
||||||
}, () =>
|
}, () =>
|
||||||
|
|
@ -110,6 +113,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
|
|
||||||
public void AddCount()
|
public void AddCount()
|
||||||
{
|
{
|
||||||
|
SoundManager.Instance.PlaySE("se_minigame_ItemGet");
|
||||||
count++;
|
count++;
|
||||||
UpdateCount();
|
UpdateCount();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ namespace MyGame.Scenes.MiniGame.Scripts
|
||||||
|
|
||||||
public void ShowResult(int score, ScrollGamePlaceData[] placeList, ScrollGameStageData stageData)
|
public void ShowResult(int score, ScrollGamePlaceData[] placeList, ScrollGameStageData stageData)
|
||||||
{
|
{
|
||||||
|
SoundManager.Instance.ChangeVolumeUniqueBGM(.3f);
|
||||||
var gameData = GameDataManager.GameData;
|
var gameData = GameDataManager.GameData;
|
||||||
var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet);
|
var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue