レベルアップ通知処理をまとめた
This commit is contained in:
parent
4466337005
commit
87009ebb34
|
|
@ -85,10 +85,7 @@ public class CornField : MonoBehaviour
|
|||
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
||||
|
||||
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ
|
||||
GameDataObserver.Instance.SceneCounter
|
||||
.DistinctUntilChanged()
|
||||
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
|
||||
.Where(x => x)
|
||||
HeartMeter.Instance.FulledHeart
|
||||
.DelaySubscription(TimeSpan.FromSeconds(.4f))
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -100,10 +100,7 @@ public class KitchenManager : MonoBehaviour
|
|||
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
||||
|
||||
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ
|
||||
GameDataObserver.Instance.SceneCounter
|
||||
.DistinctUntilChanged()
|
||||
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
|
||||
.Where(x => x)
|
||||
HeartMeter.Instance.FulledHeart
|
||||
.DelaySubscription(TimeSpan.FromSeconds(.4f))
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -76,10 +76,7 @@ public class MarketManager : MonoBehaviour
|
|||
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
||||
|
||||
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ
|
||||
GameDataObserver.Instance.SceneCounter
|
||||
.DistinctUntilChanged()
|
||||
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
|
||||
.Where(x => x)
|
||||
HeartMeter.Instance.FulledHeart
|
||||
.DelaySubscription(TimeSpan.FromSeconds(.4f))
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -42,10 +42,7 @@ public class ProductManagement : MonoBehaviour
|
|||
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
||||
|
||||
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ
|
||||
GameDataObserver.Instance.SceneCounter
|
||||
.DistinctUntilChanged()
|
||||
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
|
||||
.Where(x => x)
|
||||
HeartMeter.Instance.FulledHeart
|
||||
.DelaySubscription(TimeSpan.FromSeconds(.4f))
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -21,10 +21,7 @@ public class Shopping : MonoBehaviour
|
|||
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
||||
|
||||
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ
|
||||
GameDataObserver.Instance.SceneCounter
|
||||
.DistinctUntilChanged()
|
||||
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
|
||||
.Where(x => x)
|
||||
HeartMeter.Instance.FulledHeart
|
||||
.DelaySubscription(TimeSpan.FromSeconds(.4f))
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public class GameDataObserver : SingletonMonoBehaviour<GameDataObserver>
|
|||
public IReadOnlyReactiveProperty<bool> UpdateMissionAchieved => updateMissionAchieved;
|
||||
|
||||
public IObservable<int> HeartObserver => heartObserver;
|
||||
public IObservable<int> SceneCounter => sceneCounter;
|
||||
public IObservable<int> SceneCounter => sceneCounter.DistinctUntilChanged();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -22,7 +22,9 @@ public class HeartMeter : SingletonMonoBehaviour<HeartMeter>
|
|||
private readonly ReactiveProperty<float> viewHeartCount = new ReactiveProperty<float>();
|
||||
private readonly ReactiveProperty<int> shopLevel = new ReactiveProperty<int>();
|
||||
private readonly ReactiveProperty<bool> fulledHeart = new ReactiveProperty<bool>();
|
||||
public IObservable<bool> FulledHeart => fulledHeart.DistinctUntilChanged();
|
||||
public IObservable<bool> FulledHeart => fulledHeart.DistinctUntilChanged()
|
||||
.CombineLatest(GameDataObserver.Instance.SceneCounter, (fulled, count) => count == 1 && fulled)
|
||||
.Where(x => x && UnityEngine.SceneManagement.SceneManager.sceneCount == 1); // シーン数をもう一度チェック
|
||||
|
||||
private float minHeart;
|
||||
private float maxHeart;
|
||||
|
|
|
|||
Loading…
Reference in New Issue