From 0a3d4454c4ad9a7a31d81dd73db6dc639dc550c9 Mon Sep 17 00:00:00 2001 From: kimura Date: Tue, 12 Oct 2021 12:51:32 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=AA=E3=83=BC=E3=83=80=E3=83=BC=E3=83=81?= =?UTF-8?q?=E3=82=A7=E3=83=83=E3=82=AF=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 | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs index c5fcafd2..3fb97bd5 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs @@ -50,7 +50,7 @@ public class KitchenManager : MonoBehaviour var bulkOrderList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderDataSheet); var bulkOrderData = bulkOrderList.First(data => data.id == gameData.OrderIdInProgress); var result = CheckBulkOrder(); - var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id); + var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id) || gameData.AchievedOrderLevel == bulkOrderData.shopLevel; var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId; GameDataManager.SaveGameData(); LocalCacheManager.Save(ArchivedCallbackTag, new Action(() => @@ -128,26 +128,19 @@ public class KitchenManager : MonoBehaviour return (false, nextOrderId, nextOrderLevel); } - var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id); + var achieved = gameData.DeliveredOrder.Contains(gameData.OrderIdInProgress); var nextOrderList = bulkOrderList.Where(data => data.shopLevel == nextOrderLevel).ToList(); if (!nextOrderList.Exists(data => data.id == gameData.OrderIdInProgress)) { // まだ次のオーダーが設定されてない場合nextOrderListの一番若いIDを設定 nextOrderId = nextOrderList.First().id; } - else if (gameData.OrderIdInProgress == gameData.CancelOrderId && gameData.CancelOrderId > 0) + else if (achieved || gameData.OrderIdInProgress == gameData.CancelOrderId && gameData.CancelOrderId > 0) { - // キャンセルされた場合次のIDを設定 - var orderCount = nextOrderList.Count; - var nextIndex = nextOrderList.FindIndex(data => data.id == gameData.OrderIdInProgress) + 1; - nextOrderId = nextOrderList[nextIndex >= orderCount ? 0 : nextIndex].id; - } - else if (achieved && gameData.DeliveredOrder.Count < bulkOrderData.maxOrder) - { - // 現在のオーダーが達成済みかつmaxOrderに達していなければ次のIDを設定 - var orderCount = nextOrderList.Count; - var nextIndex = nextOrderList.FindIndex(data => data.id == gameData.OrderIdInProgress) + 1; - nextOrderId = nextOrderList[nextIndex >= orderCount ? 0 : nextIndex].id; + // 達成済みか、キャンセルされた場合次のIDを設定 + var orderList = nextOrderList.Where(data => !gameData.DeliveredOrder.Contains(data.id)).ToList(); + var nextIndex = orderList.FindIndex(data => data.id > gameData.OrderIdInProgress); + nextOrderId = orderList[Mathf.Max(0, nextIndex)].id; } if (gameData.OrderIdInProgress == nextOrderId)