大量注文達成可能バッジ通知処理追加
This commit is contained in:
parent
0a7d7701aa
commit
e0367a3c9a
|
|
@ -119,6 +119,9 @@ public class DebugOptionManager : MonoBehaviour
|
|||
bulkOrderResetButton.OnClickAsObservable().Subscribe(_ =>
|
||||
{
|
||||
gameData.AchievedOrderLevel = 0;
|
||||
gameData.OrderIdInProgress = 0;
|
||||
gameData.CancelOrderId = 0;
|
||||
gameData.CompletedProductList.Clear();
|
||||
}).AddTo(this);
|
||||
|
||||
shopLevelUpResetButton.OnClickAsObservable().Subscribe(_ =>
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ public class BulkOrder : MonoBehaviour
|
|||
{
|
||||
public static readonly string DataTag = "BulkOrderData";
|
||||
public static readonly string MaterialNumberTag = "BulkOrderMaterialNumber";
|
||||
public static readonly string CancelCallbackTag = "BulkOrderCancelCallback";
|
||||
public static readonly string AchievedCallbackTag = "BulkOrderAchievedCallback";
|
||||
private static readonly string CancelCallbackTag = "BulkOrderCancelCallback";
|
||||
private static readonly string AchievedCallbackTag = "BulkOrderAchievedCallback";
|
||||
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
|
||||
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
|
||||
[SerializeField] private Animator backgroundAnimator;
|
||||
|
|
@ -57,7 +57,7 @@ public class BulkOrder : MonoBehaviour
|
|||
LocalCacheManager.Save(DataTag, bulkOrderData);
|
||||
cancelButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
|
||||
{
|
||||
LocalCacheManager.Save(CancelCallbackTag, new Action(() =>
|
||||
BulkOrderCancelView.ShowDialog(() =>
|
||||
{
|
||||
// 試食数追加
|
||||
if (gameData.CompletedProductList.Exists(data => data.Number == 1))
|
||||
|
|
@ -76,6 +76,8 @@ public class BulkOrder : MonoBehaviour
|
|||
// カウントリセット
|
||||
gameData.OrderConditionCount = 0;
|
||||
GameDataManager.SaveGameData();
|
||||
LocalCacheManager.Load<Action>(CancelCallbackTag, null)?.Invoke();
|
||||
LocalCacheManager.Remove(CancelCallbackTag);
|
||||
// キャンセルと同時に閉じる
|
||||
transform.parent.SetLocalScale(0);
|
||||
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||
|
|
@ -83,8 +85,7 @@ public class BulkOrder : MonoBehaviour
|
|||
{
|
||||
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrder);
|
||||
});
|
||||
}));
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderCancel);
|
||||
});
|
||||
}).AddTo(this);
|
||||
|
||||
// 納品チェック
|
||||
|
|
@ -106,7 +107,7 @@ public class BulkOrder : MonoBehaviour
|
|||
// 納品
|
||||
deliveredButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
|
||||
{
|
||||
LocalCacheManager.Save(AchievedCallbackTag, new Action(() =>
|
||||
BulkOrderAchievedView.ShowDialog(() =>
|
||||
{
|
||||
// 獲得
|
||||
var rarityList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
|
||||
|
|
@ -131,11 +132,12 @@ public class BulkOrder : MonoBehaviour
|
|||
gameData.AchievedOrderLevel = bulkOrderData.shopLevel;
|
||||
}
|
||||
GameDataManager.SaveGameData();
|
||||
LocalCacheManager.Load<Action>(AchievedCallbackTag, null)?.Invoke();
|
||||
LocalCacheManager.Remove(AchievedCallbackTag);
|
||||
TransitionManager.Instance.UnloadScene(GameScenes.BulkOrder);
|
||||
}));
|
||||
});
|
||||
transform.SetLocalScale(0);
|
||||
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderAchievement);
|
||||
}).AddTo(this);
|
||||
|
||||
var productList = SpreadsheetDataManager.Instance.GetBaseDataList<ProductData>(Const.ProductDataSheet);
|
||||
|
|
@ -221,6 +223,14 @@ public class BulkOrder : MonoBehaviour
|
|||
}
|
||||
}
|
||||
|
||||
public static void ShowDialog(Action onComplete = null, Action onAchieved = null, Action onCancel = null)
|
||||
{
|
||||
LocalCacheManager.Remove(Const.ProductViewTypeTag);
|
||||
LocalCacheManager.Save(AchievedCallbackTag, onAchieved);
|
||||
LocalCacheManager.Save(CancelCallbackTag, onCancel);
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrder);
|
||||
}
|
||||
|
||||
public static int CalcBonus(List<RarityData> rarityList, List<BulkOrderResultData> resultData, int shopLevel)
|
||||
{
|
||||
var totalBonus = 0;
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using UnityEngine.UI;
|
|||
|
||||
public class BulkOrderAchievedView : MonoBehaviour
|
||||
{
|
||||
private static readonly string CallbackTag = "BulkOrderAchievedViewCallback";
|
||||
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
|
||||
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
|
||||
[SerializeField] private Animator backgroundAnimator;
|
||||
|
|
@ -34,14 +35,8 @@ public class BulkOrderAchievedView : MonoBehaviour
|
|||
}
|
||||
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||
{
|
||||
if (LocalCacheManager.Load<Action>(BulkOrder.AchievedCallbackTag, null) is Action callback)
|
||||
{
|
||||
callback.Invoke();
|
||||
}
|
||||
if (LocalCacheManager.Load<Action>(KitchenManager.ArchivedCallbackTag, null) is Action kitchenCallback)
|
||||
{
|
||||
kitchenCallback.Invoke();
|
||||
}
|
||||
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
|
||||
LocalCacheManager.Remove(CallbackTag);
|
||||
transform.parent.SetLocalScale(0);
|
||||
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||
this.CallWaitForSeconds(.25f, () =>
|
||||
|
|
@ -50,4 +45,10 @@ public class BulkOrderAchievedView : MonoBehaviour
|
|||
});
|
||||
}).AddTo(this);
|
||||
}
|
||||
|
||||
public static void ShowDialog(Action onComplete = null)
|
||||
{
|
||||
LocalCacheManager.Save(CallbackTag, onComplete);
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderAchievement);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using UnityEngine.UI;
|
|||
|
||||
public class BulkOrderCancelView : MonoBehaviour
|
||||
{
|
||||
private static readonly string CallbackTag = "BulkOrderCancelViewCallback";
|
||||
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
|
||||
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
|
||||
[SerializeField] private Animator backgroundAnimator;
|
||||
|
|
@ -32,14 +33,8 @@ public class BulkOrderCancelView : MonoBehaviour
|
|||
}).AddTo(this);
|
||||
cancelButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||
{
|
||||
if (LocalCacheManager.Load<Action>(BulkOrder.CancelCallbackTag, null) is Action callback)
|
||||
{
|
||||
callback.Invoke();
|
||||
}
|
||||
if (LocalCacheManager.Load<Action>(KitchenManager.ArchivedCallbackTag, null) is Action kitchenCallback)
|
||||
{
|
||||
kitchenCallback.Invoke();
|
||||
}
|
||||
LocalCacheManager.Load<Action>(CallbackTag, null)?.Invoke();
|
||||
LocalCacheManager.Remove(CallbackTag);
|
||||
transform.parent.SetLocalScale(0);
|
||||
backgroundAnimator.SetTrigger(CloseTrigger);
|
||||
this.CallWaitForSeconds(.25f, () =>
|
||||
|
|
@ -48,4 +43,10 @@ public class BulkOrderCancelView : MonoBehaviour
|
|||
});
|
||||
}).AddTo(this);
|
||||
}
|
||||
|
||||
public static void ShowDialog(Action onComplete = null)
|
||||
{
|
||||
LocalCacheManager.Save(CallbackTag, onComplete);
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrderCancel);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ using UnityEngine.UI;
|
|||
|
||||
public class KitchenManager : MonoBehaviour
|
||||
{
|
||||
public static readonly string ArchivedCallbackTag = "KitchenCancelCallback";
|
||||
private static readonly double refreshWaitTime = 300;
|
||||
[SerializeField] int refreshRewardCoin = 100;
|
||||
[SerializeField] private Button cookingButton;
|
||||
|
|
@ -148,10 +147,23 @@ public class KitchenManager : MonoBehaviour
|
|||
var achieved = bulkOrderData is null || gameData.DeliveredOrder.Contains(bulkOrderData.id) || gameData.AchievedOrderLevel == bulkOrderData.shopLevel;
|
||||
var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId;
|
||||
GameDataManager.SaveGameData();
|
||||
LocalCacheManager.Save(ArchivedCallbackTag, new Action(() =>
|
||||
|
||||
if (bulkOrderData != null)
|
||||
{
|
||||
orderIndicatorView.SetIndicate(false, true);
|
||||
}));
|
||||
var orderList = new List<int>
|
||||
{
|
||||
bulkOrderData.productId1,
|
||||
bulkOrderData.productId2,
|
||||
bulkOrderData.productId3,
|
||||
};
|
||||
var completed = gameData.CompletedProductList.Count == orderList.Count(x => x != 0);
|
||||
orderIndicatorView.SetBadgeActive(completed && !achieved);
|
||||
}
|
||||
else
|
||||
{
|
||||
orderIndicatorView.SetBadgeActive(false);
|
||||
}
|
||||
|
||||
orderIndicatorView.SetIndicate(result.result, achieved || cancelled);
|
||||
if (result.result)
|
||||
{
|
||||
|
|
@ -181,10 +193,22 @@ public class KitchenManager : MonoBehaviour
|
|||
|
||||
// 通知をタップ後タップ動作を切り替える
|
||||
orderIndicatorView.SetIndicate(false, false);
|
||||
orderIndicatorView.TappedPhone.ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(__ =>
|
||||
orderIndicatorView.TappedPhone
|
||||
.ThrottleFirst(TimeSpan.FromSeconds(1f))
|
||||
.Take(1)
|
||||
.Subscribe(__ =>
|
||||
{
|
||||
LocalCacheManager.Remove(Const.ProductViewTypeTag);
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrder);
|
||||
BulkOrder.ShowDialog(
|
||||
onAchieved: () =>
|
||||
{
|
||||
orderIndicatorView.SetIndicate(false, true);
|
||||
orderIndicatorView.SetBadgeActive(false);
|
||||
},
|
||||
onCancel: () =>
|
||||
{
|
||||
orderIndicatorView.SetIndicate(false, true);
|
||||
orderIndicatorView.SetBadgeActive(false);
|
||||
});
|
||||
}).AddTo(this);
|
||||
}).AddTo(this);
|
||||
}
|
||||
|
|
@ -196,8 +220,17 @@ public class KitchenManager : MonoBehaviour
|
|||
.ThrottleFirst(TimeSpan.FromSeconds(1f))
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
LocalCacheManager.Remove(Const.ProductViewTypeTag);
|
||||
TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrder);
|
||||
BulkOrder.ShowDialog(
|
||||
onAchieved: () =>
|
||||
{
|
||||
orderIndicatorView.SetIndicate(false, true);
|
||||
orderIndicatorView.SetBadgeActive(false);
|
||||
},
|
||||
onCancel: () =>
|
||||
{
|
||||
orderIndicatorView.SetIndicate(false, true);
|
||||
orderIndicatorView.SetBadgeActive(false);
|
||||
});
|
||||
}).AddTo(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue