リザルト処理修正
This commit is contained in:
parent
a960f2170a
commit
86fd7c9b2c
|
|
@ -31,7 +31,6 @@ public class PopcornGameManager : MonoBehaviour
|
|||
private readonly ReactiveProperty<GameState> state = new ReactiveProperty<GameState>(GameState.Guide);
|
||||
private readonly CompositeDisposable compositeDisposable = new CompositeDisposable();
|
||||
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
|
@ -59,40 +58,6 @@ public class PopcornGameManager : MonoBehaviour
|
|||
}
|
||||
}).AddTo(this);
|
||||
|
||||
cornManager.Result.SkipLatestValueOnSubscribe().Subscribe(x =>
|
||||
{
|
||||
state.Value = GameState.Result;
|
||||
thermalControl.StopMeter();
|
||||
characterFlower.gameObject.SetActive(false);
|
||||
characterSweat.gameObject.SetActive(false);
|
||||
switch (x)
|
||||
{
|
||||
case CornResult.Perfect:
|
||||
perfectResultObject.SetActive(true);
|
||||
break;
|
||||
case CornResult.Good:
|
||||
|
||||
goodResultObject.SetActive(true);
|
||||
break;
|
||||
case CornResult.Failure:
|
||||
failureResultObject.SetActive(true);
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(x), x, null);
|
||||
}
|
||||
|
||||
// 再度画面タップでリセット
|
||||
this.UpdateAsObservable()
|
||||
.Select(_ => Input.GetMouseButton(0))
|
||||
.DistinctUntilChanged()
|
||||
.Skip(1)
|
||||
.FirstOrDefault(b => b)
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
ResetGame();
|
||||
}).AddTo(this);
|
||||
}).AddTo(this);
|
||||
|
||||
ResetGame();
|
||||
}
|
||||
|
||||
|
|
@ -112,6 +77,49 @@ public class PopcornGameManager : MonoBehaviour
|
|||
private void ResetGame()
|
||||
{
|
||||
compositeDisposable.Clear();
|
||||
cornManager.Result.SkipLatestValueOnSubscribe()
|
||||
.FirstOrDefault()
|
||||
.DelayFrame(1)
|
||||
.Subscribe(x =>
|
||||
{
|
||||
state.Value = GameState.Result;
|
||||
thermalControl.StopMeter();
|
||||
characterFlower.gameObject.SetActive(false);
|
||||
characterSweat.gameObject.SetActive(false);
|
||||
this.CallWaitForSeconds(1f, () =>
|
||||
{
|
||||
|
||||
});
|
||||
// リザルト表示遅延
|
||||
Observable.Timer(TimeSpan.FromMilliseconds(1000)).Subscribe(a =>
|
||||
{
|
||||
switch (x)
|
||||
{
|
||||
case CornResult.Perfect:
|
||||
perfectResultObject.SetActive(true);
|
||||
break;
|
||||
case CornResult.Good:
|
||||
goodResultObject.SetActive(true);
|
||||
break;
|
||||
case CornResult.Failure:
|
||||
failureResultObject.SetActive(true);
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(x), x, null);
|
||||
}
|
||||
// 再度画面タップでリセット
|
||||
this.UpdateAsObservable()
|
||||
.Select(_ => Input.GetMouseButton(0))
|
||||
.DistinctUntilChanged()
|
||||
.Skip(1)
|
||||
.FirstOrDefault(b => b)
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
ResetGame();
|
||||
}).AddTo(compositeDisposable);
|
||||
}).AddTo(compositeDisposable);
|
||||
}).AddTo(compositeDisposable);
|
||||
|
||||
this.UpdateAsObservable()
|
||||
.Select(_ => Input.GetMouseButton(0))
|
||||
.DistinctUntilChanged()
|
||||
|
|
@ -121,6 +129,7 @@ public class PopcornGameManager : MonoBehaviour
|
|||
{
|
||||
StartGame();
|
||||
}).AddTo(compositeDisposable);
|
||||
|
||||
ResetUI();
|
||||
thermalControl.ResetMeter();
|
||||
cornManager.RespawnCorn();
|
||||
|
|
|
|||
Loading…
Reference in New Issue