レベルアップ時に大量注文の新着を確認する処理を追加
This commit is contained in:
parent
e6c045e2b1
commit
d5e4308503
|
|
@ -21,7 +21,8 @@ public class KitchenManager : MonoBehaviour
|
||||||
[SerializeField] private BulkOrderIndicatorView orderIndicatorView;
|
[SerializeField] private BulkOrderIndicatorView orderIndicatorView;
|
||||||
|
|
||||||
private readonly Subject<Unit> showAdDialogSubject = new Subject<Unit>();
|
private readonly Subject<Unit> showAdDialogSubject = new Subject<Unit>();
|
||||||
IDisposable timerDisposable = null;
|
private IDisposable timerDisposable = null;
|
||||||
|
private IDisposable tapPhoneDisposable;
|
||||||
|
|
||||||
// Start is called before the first frame update
|
// Start is called before the first frame update
|
||||||
void Start()
|
void Start()
|
||||||
|
|
@ -42,6 +43,8 @@ public class KitchenManager : MonoBehaviour
|
||||||
var achieved = bulkOrderData is null || gameData.DeliveredOrder.Contains(bulkOrderData.id) || gameData.AchievedOrderLevel == bulkOrderData.shopLevel;
|
var achieved = bulkOrderData is null || gameData.DeliveredOrder.Contains(bulkOrderData.id) || gameData.AchievedOrderLevel == bulkOrderData.shopLevel;
|
||||||
var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId;
|
var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId;
|
||||||
|
|
||||||
|
CheckOrderAndSetPhoneTap();
|
||||||
|
|
||||||
// 大量注文達成通知
|
// 大量注文達成通知
|
||||||
if (bulkOrderData == null)
|
if (bulkOrderData == null)
|
||||||
{
|
{
|
||||||
|
|
@ -59,6 +62,12 @@ public class KitchenManager : MonoBehaviour
|
||||||
orderIndicatorView.SetBadgeActive(completed && !achieved && !cancelled);
|
orderIndicatorView.SetBadgeActive(completed && !achieved && !cancelled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 大量注文の調理から戻ってきたときにダイアログ開く
|
||||||
|
if (LocalCacheManager.Load(Const.ProductViewTypeTag, ProductViewType.Default) == ProductViewType.BulkOrder)
|
||||||
|
{
|
||||||
|
BulkOrderShowDialogWithSetup();
|
||||||
|
}
|
||||||
|
|
||||||
// tutorial
|
// tutorial
|
||||||
if (!gameData.FinishedFlags.HasFlag(TutorialFlag.FirstPlay))
|
if (!gameData.FinishedFlags.HasFlag(TutorialFlag.FirstPlay))
|
||||||
{
|
{
|
||||||
|
|
@ -116,7 +125,7 @@ public class KitchenManager : MonoBehaviour
|
||||||
.DelaySubscription(TimeSpan.FromSeconds(.4f))
|
.DelaySubscription(TimeSpan.FromSeconds(.4f))
|
||||||
.Subscribe(_ =>
|
.Subscribe(_ =>
|
||||||
{
|
{
|
||||||
ShopLevelUp.ShowDialog(gameData.ViewedShopLevel + 1);
|
ShopLevelUp.ShowDialog(gameData.ViewedShopLevel + 1, CheckOrderAndSetPhoneTap);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
GameDataObserver.Instance.HeartObserver
|
GameDataObserver.Instance.HeartObserver
|
||||||
|
|
@ -197,36 +206,33 @@ public class KitchenManager : MonoBehaviour
|
||||||
adButton.gameObject.SetActive(false);
|
adButton.gameObject.SetActive(false);
|
||||||
kitchenView.SetNormalAnimation();
|
kitchenView.SetNormalAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
Debug.Log($"remaining: {remaining}");
|
Debug.Log($"remaining: {remaining}");
|
||||||
Market.StockFlavorLog();
|
Market.StockFlavorLog();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// 大量注文タップ時の挙動設定
|
||||||
|
void CheckOrderAndSetPhoneTap()
|
||||||
|
{
|
||||||
var result = CheckBulkOrder();
|
var result = CheckBulkOrder();
|
||||||
orderIndicatorView.SetIndicate(result.newOrder, achieved || cancelled);
|
orderIndicatorView.SetIndicate(result.newOrder, achieved || cancelled);
|
||||||
if (LocalCacheManager.Load(Const.ProductViewTypeTag, ProductViewType.Default) == ProductViewType.BulkOrder)
|
|
||||||
{
|
|
||||||
BulkOrderShowDialogWithSetup();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!result.newOrder)
|
if (!result.newOrder)
|
||||||
{
|
{
|
||||||
if (gameData.OrderIdInProgress != gameData.CancelOrderId)
|
if (gameData.OrderIdInProgress != gameData.CancelOrderId)
|
||||||
{
|
{
|
||||||
orderIndicatorView.TappedPhone
|
SetPhoneTap();
|
||||||
.ThrottleFirst(TimeSpan.FromSeconds(1f))
|
|
||||||
.Subscribe(_ =>
|
|
||||||
{
|
|
||||||
BulkOrderShowDialogWithSetup();
|
|
||||||
}).AddTo(this);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// 新着処理
|
||||||
SoundManager.Instance.StopSE("se_Main_phone_sound");
|
SoundManager.Instance.StopSE("se_Main_phone_sound");
|
||||||
|
|
||||||
var messageList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderTextData>(Const.BulkOrderTextDataSheet);
|
var messageList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderTextData>(Const.BulkOrderTextDataSheet);
|
||||||
var nextMessageList = messageList.Where(data => data.shopLevel == result.nextOrderLevel).ToList();
|
var nextMessageList = messageList.Where(data => data.shopLevel == result.nextOrderLevel).ToList();
|
||||||
orderIndicatorView.TappedPhone.Take(1).Subscribe(_ =>
|
tapPhoneDisposable?.Dispose();
|
||||||
|
tapPhoneDisposable = orderIndicatorView.TappedPhone.Take(1).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
// タップで更新
|
// タップで更新
|
||||||
gameData.CompletedProductList.Clear();
|
gameData.CompletedProductList.Clear();
|
||||||
|
|
@ -248,15 +254,22 @@ public class KitchenManager : MonoBehaviour
|
||||||
BulkOrderNotifyView.ShowDialog(BulkOrderShowDialogWithSetup);
|
BulkOrderNotifyView.ShowDialog(BulkOrderShowDialogWithSetup);
|
||||||
|
|
||||||
// 通知をタップ後タップ動作を切り替える
|
// 通知をタップ後タップ動作を切り替える
|
||||||
|
SetPhoneTap();
|
||||||
orderIndicatorView.SetIndicate(false, false);
|
orderIndicatorView.SetIndicate(false, false);
|
||||||
orderIndicatorView.TappedPhone
|
}).AddTo(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetPhoneTap()
|
||||||
|
{
|
||||||
|
tapPhoneDisposable?.Dispose();
|
||||||
|
tapPhoneDisposable = orderIndicatorView.TappedPhone
|
||||||
.ThrottleFirst(TimeSpan.FromSeconds(1f))
|
.ThrottleFirst(TimeSpan.FromSeconds(1f))
|
||||||
.Subscribe(__ =>
|
.Subscribe(_ =>
|
||||||
{
|
{
|
||||||
BulkOrderShowDialogWithSetup();
|
BulkOrderShowDialogWithSetup();
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
}).AddTo(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BulkOrderShowDialogWithSetup()
|
private void BulkOrderShowDialogWithSetup()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue