From d5dce6d7228785b63e0971dc3cf64a18867af0cb Mon Sep 17 00:00:00 2001 From: kimura Date: Mon, 14 Nov 2022 17:55:54 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=AD=E3=83=83=E3=83=81=E3=83=B3=E5=A4=A7?= =?UTF-8?q?=E9=87=8F=E6=B3=A8=E6=96=87=E9=80=9A=E7=9F=A5=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/Main/Scripts/KitchenManager.cs | 59 ++++++++----------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs index ec0a069c..24c2ad64 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs @@ -38,8 +38,6 @@ public class KitchenManager : MonoBehaviour SoundManager.Instance.PlayBGM("bgm_Main"); globalGameData = GameDataManager.GameData; cityGameData = GameDataManager.GetCurrentCityGameData(); - // globalGameData.CustomizeCoinElapsed = Int32.MaxValue / 2; - // PartTimerManager.Instance.UpdateList(); var cityDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.CityDataSheet); var cityData = cityDataList.First(data => data.id == GameDataManager.GameData.CurrentCityId); @@ -100,7 +98,27 @@ public class KitchenManager : MonoBehaviour } else { - CheckOrderAndSetPhoneTap(); + orderIndicatorView.SetBadgeActive(false); + var hasNewOrder = CheckOrderAndSetPhoneTap(); + if (!hasNewOrder) + { + // 大量注文達成通知 + var bulkOrderList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderDataSheet); + if (bulkOrderList.FirstOrDefault(data => data.id == cityGameData.OrderIdInProgress) is { } bulkOrderData) + { + var completed = cityGameData.CompletedProductList.Count == bulkOrderData.OrderList.Count(tuple => tuple.productId != 0); + var achieved = cityGameData.AchievedOrderLevel == bulkOrderData.shopLevel || cityGameData.DeliveredOrder.Contains(bulkOrderData.id); + var cancelled = cityGameData.OrderIdInProgress == cityGameData.CancelOrderId; + orderIndicatorView.SetBadgeActive(completed && !achieved && !cancelled); + orderIndicatorView.SetIndicate(false, achieved || cancelled); + if (!cancelled) SetPhoneTap(); + } + else + { + orderIndicatorView.SetBadgeActive(false); + orderIndicatorView.SetIndicate(false, true); + } + } } // バイト有効時は自動調理と大量注文が非表示 partTimerButtonView.gameObject.SetActive(isPartTimer); @@ -108,22 +126,6 @@ public class KitchenManager : MonoBehaviour autoCookView.SetActive(!isPartTimer && globalGameData.ViewedShopLevel >= Const.AutoCookAvailableLevel); kitchenView.SetActive(!isPartTimer); - // 大量注文達成通知 - var bulkOrderList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderDataSheet); - if (bulkOrderList.FirstOrDefault(data => data.id == cityGameData.OrderIdInProgress) is { } bulkOrderData) - { - var completed = cityGameData.CompletedProductList.Count == bulkOrderData.OrderList.Count(tuple => tuple.productId != 0); - var achieved = cityGameData.AchievedOrderLevel == bulkOrderData.shopLevel || cityGameData.DeliveredOrder.Contains(bulkOrderData.id); - var cancelled = cityGameData.OrderIdInProgress == cityGameData.CancelOrderId; - orderIndicatorView.SetBadgeActive(completed && !achieved && !cancelled); - orderIndicatorView.SetIndicate(false, achieved || cancelled); - } - else - { - orderIndicatorView.SetBadgeActive(false); - orderIndicatorView.SetIndicate(false, true); - } - // 大量注文の調理から戻ってきたときにダイアログ開く if (LocalCacheManager.Load(Const.ProductViewTypeTag, ProductViewType.Default) == ProductViewType.BulkOrder) { @@ -368,21 +370,12 @@ public class KitchenManager : MonoBehaviour } // 大量注文タップ時の挙動設定 - private void CheckOrderAndSetPhoneTap() + private bool CheckOrderAndSetPhoneTap() { - if (BulkOrder.CheckBulkOrder() is { } nextOrderData) - { - orderIndicatorView.SetIndicate(true, false); - SetPhoneTap(nextOrderData); - return; - } - - var cancelled = cityGameData.OrderIdInProgress == cityGameData.CancelOrderId; - if (cancelled) - { - return; - } - SetPhoneTap(); + if (BulkOrder.CheckBulkOrder() is not { } nextOrderData) return false; + orderIndicatorView.SetIndicate(true, false); + SetPhoneTap(nextOrderData); + return true; } private void SetPhoneTap(BulkOrderData nextOrderData = null)