diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs index 1022ece6..5e3b8bf9 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs @@ -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(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(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(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();