Merge branch 'develop' of bitbucket.org:usaya/popcorn into develop

This commit is contained in:
hirokei 2021-12-01 13:38:10 +09:00
commit d3d4cedb18
8 changed files with 11 additions and 22 deletions

View File

@ -85,10 +85,7 @@ public class CornField : MonoBehaviour
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart); HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ // ハートゲージがフルかつダイアログが開いていない場合レベルアップ
GameDataObserver.Instance.SceneCounter HeartMeter.Instance.FulledHeart
.DistinctUntilChanged()
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
.Where(x => x)
.DelaySubscription(TimeSpan.FromSeconds(.4f)) .DelaySubscription(TimeSpan.FromSeconds(.4f))
.Subscribe(_ => .Subscribe(_ =>
{ {

View File

@ -100,10 +100,7 @@ public class KitchenManager : MonoBehaviour
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart); HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ // ハートゲージがフルかつダイアログが開いていない場合レベルアップ
GameDataObserver.Instance.SceneCounter HeartMeter.Instance.FulledHeart
.DistinctUntilChanged()
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
.Where(x => x)
.DelaySubscription(TimeSpan.FromSeconds(.4f)) .DelaySubscription(TimeSpan.FromSeconds(.4f))
.Subscribe(_ => .Subscribe(_ =>
{ {

View File

@ -76,10 +76,7 @@ public class MarketManager : MonoBehaviour
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart); HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ // ハートゲージがフルかつダイアログが開いていない場合レベルアップ
GameDataObserver.Instance.SceneCounter HeartMeter.Instance.FulledHeart
.DistinctUntilChanged()
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
.Where(x => x)
.DelaySubscription(TimeSpan.FromSeconds(.4f)) .DelaySubscription(TimeSpan.FromSeconds(.4f))
.Subscribe(_ => .Subscribe(_ =>
{ {

View File

@ -42,10 +42,7 @@ public class ProductManagement : MonoBehaviour
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart); HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ // ハートゲージがフルかつダイアログが開いていない場合レベルアップ
GameDataObserver.Instance.SceneCounter HeartMeter.Instance.FulledHeart
.DistinctUntilChanged()
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
.Where(x => x)
.DelaySubscription(TimeSpan.FromSeconds(.4f)) .DelaySubscription(TimeSpan.FromSeconds(.4f))
.Subscribe(_ => .Subscribe(_ =>
{ {

View File

@ -21,10 +21,7 @@ public class Shopping : MonoBehaviour
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart); HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
// ハートゲージがフルかつダイアログが開いていない場合レベルアップ // ハートゲージがフルかつダイアログが開いていない場合レベルアップ
GameDataObserver.Instance.SceneCounter HeartMeter.Instance.FulledHeart
.DistinctUntilChanged()
.CombineLatest(HeartMeter.Instance.FulledHeart, (count, fulled) => count == 1 && fulled)
.Where(x => x)
.DelaySubscription(TimeSpan.FromSeconds(.4f)) .DelaySubscription(TimeSpan.FromSeconds(.4f))
.Subscribe(_ => .Subscribe(_ =>
{ {

View File

@ -312,7 +312,9 @@ public sealed class GameData {
public void MoveAllWaitValue() public void MoveAllWaitValue()
{ {
#if UNITY_EDITOR
Debug.Log($"WaitAddValue:{WaitAddCoin},{WaitAddHeart}"); Debug.Log($"WaitAddValue:{WaitAddCoin},{WaitAddHeart}");
#endif
MoveCoin(WaitAddCoin); MoveCoin(WaitAddCoin);
MoveHeart(WaitAddHeart); MoveHeart(WaitAddHeart);
} }

View File

@ -24,7 +24,7 @@ public class GameDataObserver : SingletonMonoBehaviour<GameDataObserver>
public IReadOnlyReactiveProperty<bool> UpdateMissionAchieved => updateMissionAchieved; public IReadOnlyReactiveProperty<bool> UpdateMissionAchieved => updateMissionAchieved;
public IObservable<int> HeartObserver => heartObserver; public IObservable<int> HeartObserver => heartObserver;
public IObservable<int> SceneCounter => sceneCounter; public IObservable<int> SceneCounter => sceneCounter.DistinctUntilChanged();
private void Start() private void Start()
{ {

View File

@ -22,7 +22,9 @@ public class HeartMeter : SingletonMonoBehaviour<HeartMeter>
private readonly ReactiveProperty<float> viewHeartCount = new ReactiveProperty<float>(); private readonly ReactiveProperty<float> viewHeartCount = new ReactiveProperty<float>();
private readonly ReactiveProperty<int> shopLevel = new ReactiveProperty<int>(); private readonly ReactiveProperty<int> shopLevel = new ReactiveProperty<int>();
private readonly ReactiveProperty<bool> fulledHeart = new ReactiveProperty<bool>(); 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 minHeart;
private float maxHeart; private float maxHeart;