大量注文受注直後にキャンセルできないのを修正

This commit is contained in:
kimura 2021-11-12 20:15:14 +09:00
parent 6df8fa8d9b
commit 3d62cbcff8
2 changed files with 23 additions and 3 deletions

View File

@ -7,6 +7,7 @@ using UnityEngine.UI;
public class BulkOrderNotifyView : MonoBehaviour
{
private static readonly string CallbackTag = "BulkOrderNotifyViewCallback";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
[SerializeField] private Animator backgroundAnimator;
@ -66,13 +67,20 @@ public class BulkOrderNotifyView : MonoBehaviour
}
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
LocalCacheManager.Remove(CallbackTag);
transform.parent.SetLocalScale(0);
backgroundAnimator.SetTrigger(CloseTrigger);
this.CallWaitForSeconds(.25f, () =>
{
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrderTelephone);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrder);
});
}).AddTo(this);
}
public static void ShowDialog(Action onComplete = null)
{
LocalCacheManager.Save(CallbackTag, onComplete);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderTelephone);
}
}

View File

@ -189,13 +189,25 @@ public class KitchenManager : MonoBehaviour
var orderData = bulkOrderList.First(data => data.id == result.nextOrderId);
LocalCacheManager.Save(BulkOrder.DataTag, orderData);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderTelephone);
BulkOrderNotifyView.ShowDialog(() =>
{
BulkOrder.ShowDialog(
onAchieved: () =>
{
orderIndicatorView.SetIndicate(false, true);
orderIndicatorView.SetBadgeActive(false);
},
onCancel: () =>
{
orderIndicatorView.SetIndicate(false, true);
orderIndicatorView.SetBadgeActive(false);
});
});
// 通知をタップ後タップ動作を切り替える
orderIndicatorView.SetIndicate(false, false);
orderIndicatorView.TappedPhone
.ThrottleFirst(TimeSpan.FromSeconds(1f))
.Take(1)
.Subscribe(__ =>
{
BulkOrder.ShowDialog(