大量注文バグ修正
This commit is contained in:
parent
30f132a736
commit
d3d5f01df9
|
|
@ -290,52 +290,59 @@ public class KitchenManager : MonoBehaviour
|
||||||
Market.StockFlavorLog();
|
Market.StockFlavorLog();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// 大量注文タップ時の挙動設定
|
}
|
||||||
void CheckOrderAndSetPhoneTap()
|
|
||||||
|
// 大量注文タップ時の挙動設定
|
||||||
|
private void CheckOrderAndSetPhoneTap()
|
||||||
|
{
|
||||||
|
var gameData = GameDataManager.GameData;
|
||||||
|
// 大量注文データ
|
||||||
|
var bulkOrderList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderData>(Const.BulkOrderDataSheet);
|
||||||
|
var bulkOrderData = bulkOrderList.FirstOrDefault(data => data.id == gameData.OrderIdInProgress);
|
||||||
|
var achieved = bulkOrderData is null || gameData.DeliveredOrder.Contains(bulkOrderData.id) || gameData.AchievedOrderLevel == bulkOrderData.shopLevel;
|
||||||
|
var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId;
|
||||||
|
var result = CheckBulkOrder();
|
||||||
|
orderIndicatorView.SetIndicate(result.newOrder, achieved || cancelled);
|
||||||
|
|
||||||
|
if (!result.newOrder)
|
||||||
{
|
{
|
||||||
var result = CheckBulkOrder();
|
if (!cancelled)
|
||||||
orderIndicatorView.SetIndicate(result.newOrder, achieved || cancelled);
|
|
||||||
|
|
||||||
if (!result.newOrder)
|
|
||||||
{
|
{
|
||||||
if (!cancelled)
|
SetPhoneTap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 新着処理
|
||||||
|
SoundManager.Instance.StopSE("se_Main_phone_sound");
|
||||||
|
var messageList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderTextData>(Const.BulkOrderTextDataSheet);
|
||||||
|
var nextMessageList = messageList.Where(data => data.shopLevel == result.nextOrderLevel).ToList();
|
||||||
|
tapPhoneDisposable?.Dispose();
|
||||||
|
tapPhoneDisposable = orderIndicatorView.TappedPhone.Take(1).Subscribe(_ =>
|
||||||
|
{
|
||||||
|
// タップで更新
|
||||||
|
gameData.CompletedProductList.Clear();
|
||||||
|
gameData.OrderIdInProgress = result.nextOrderId;
|
||||||
|
if (nextMessageList.Exists(data => data.id == gameData.OrderTextId))
|
||||||
{
|
{
|
||||||
SetPhoneTap();
|
var nextMessageIndex = nextMessageList.FindIndex(data => data.id == gameData.OrderTextId) + 1;
|
||||||
|
gameData.OrderTextId = nextMessageList[nextMessageIndex >= nextMessageList.Count ? 0 : nextMessageIndex].id;
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else
|
|
||||||
{
|
|
||||||
// 新着処理
|
|
||||||
SoundManager.Instance.StopSE("se_Main_phone_sound");
|
|
||||||
var messageList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderTextData>(Const.BulkOrderTextDataSheet);
|
|
||||||
var nextMessageList = messageList.Where(data => data.shopLevel == result.nextOrderLevel).ToList();
|
|
||||||
tapPhoneDisposable?.Dispose();
|
|
||||||
tapPhoneDisposable = orderIndicatorView.TappedPhone.Take(1).Subscribe(_ =>
|
|
||||||
{
|
{
|
||||||
// タップで更新
|
gameData.OrderTextId = nextMessageList.First().id;
|
||||||
gameData.CompletedProductList.Clear();
|
}
|
||||||
gameData.OrderIdInProgress = result.nextOrderId;
|
|
||||||
if (nextMessageList.Exists(data => data.id == gameData.OrderTextId))
|
|
||||||
{
|
|
||||||
var nextMessageIndex = nextMessageList.FindIndex(data => data.id == gameData.OrderTextId) + 1;
|
|
||||||
gameData.OrderTextId = nextMessageList[nextMessageIndex >= nextMessageList.Count ? 0 : nextMessageIndex].id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gameData.OrderTextId = nextMessageList.First().id;
|
|
||||||
}
|
|
||||||
|
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
|
|
||||||
var orderData = bulkOrderList.First(data => data.id == result.nextOrderId);
|
var orderData = bulkOrderList.First(data => data.id == result.nextOrderId);
|
||||||
LocalCacheManager.Save(BulkOrder.DataTag, orderData);
|
LocalCacheManager.Save(BulkOrder.DataTag, orderData);
|
||||||
BulkOrderNotifyView.ShowDialog(BulkOrderShowDialogWithSetup);
|
BulkOrderNotifyView.ShowDialog(BulkOrderShowDialogWithSetup);
|
||||||
|
|
||||||
// 通知をタップ後タップ動作を切り替える
|
// 通知をタップ後タップ動作を切り替える
|
||||||
SetPhoneTap();
|
SetPhoneTap();
|
||||||
orderIndicatorView.SetIndicate(false, false);
|
orderIndicatorView.SetIndicate(false, false);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue