大量注文バグ修正
This commit is contained in:
parent
30f132a736
commit
d3d5f01df9
|
|
@ -290,55 +290,62 @@ public class KitchenManager : MonoBehaviour
|
|||
Market.StockFlavorLog();
|
||||
#endif
|
||||
|
||||
// 大量注文タップ時の挙動設定
|
||||
void CheckOrderAndSetPhoneTap()
|
||||
{
|
||||
var result = CheckBulkOrder();
|
||||
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))
|
||||
{
|
||||
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();
|
||||
|
||||
var orderData = bulkOrderList.First(data => data.id == result.nextOrderId);
|
||||
LocalCacheManager.Save(BulkOrder.DataTag, orderData);
|
||||
BulkOrderNotifyView.ShowDialog(BulkOrderShowDialogWithSetup);
|
||||
|
||||
// 通知をタップ後タップ動作を切り替える
|
||||
SetPhoneTap();
|
||||
orderIndicatorView.SetIndicate(false, false);
|
||||
}).AddTo(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 大量注文タップ時の挙動設定
|
||||
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)
|
||||
{
|
||||
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))
|
||||
{
|
||||
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();
|
||||
|
||||
var orderData = bulkOrderList.First(data => data.id == result.nextOrderId);
|
||||
LocalCacheManager.Save(BulkOrder.DataTag, orderData);
|
||||
BulkOrderNotifyView.ShowDialog(BulkOrderShowDialogWithSetup);
|
||||
|
||||
// 通知をタップ後タップ動作を切り替える
|
||||
SetPhoneTap();
|
||||
orderIndicatorView.SetIndicate(false, false);
|
||||
}).AddTo(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPhoneTap()
|
||||
{
|
||||
tapPhoneDisposable?.Dispose();
|
||||
|
|
|
|||
Loading…
Reference in New Issue