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