From 11e9aa555d286aa951e7c6acc165d348a8e6cc16 Mon Sep 17 00:00:00 2001 From: kimura Date: Tue, 12 Oct 2021 10:17:35 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A4=A7=E9=87=8F=E6=B3=A8=E6=96=87?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E3=82=92=E9=96=89=E3=81=98=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E3=81=8D=E3=80=81=E6=B3=A8=E6=96=87=E7=94=BB=E9=9D=A2=E3=82=92?= =?UTF-8?q?=E9=96=8B=E3=81=8F=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs index d17ca902..7dc22792 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs @@ -65,6 +65,7 @@ public class BulkOrderNotifyView : MonoBehaviour this.CallWaitForSeconds(.25f, () => { TransitionManager.Instance.UnloadScene(GameScenes.BulkOrderTelephone); + TransitionManager.Instance.LoadSceneAdditive(GameScenes.BulkOrder); }); }).AddTo(this); } From ea8f5a3800f0641ea1bafc8126e1481c77df2456 Mon Sep 17 00:00:00 2001 From: kimura Date: Tue, 12 Oct 2021 10:20:31 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E6=AC=A1=E3=81=AE=E3=82=AA=E3=83=BC?= =?UTF-8?q?=E3=83=80=E3=83=BC=E3=82=92=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF?= =?UTF-8?q?=E3=81=99=E3=82=8B=E5=87=A6=E7=90=86=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyGame/Scenes/Main/Scripts/BulkOrder.cs | 1 + .../Scenes/Main/Scripts/KitchenManager.cs | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs index 0776b0a8..f508b9ec 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs @@ -110,6 +110,7 @@ public class BulkOrder : MonoBehaviour // オーダー上限を超えるとそのLevelでの注文終了 if (gameData.DeliveredOrder.Count == bulkOrderData.maxOrder) { + gameData.DeliveredOrder.Clear(); gameData.AchievedOrderLevel = bulkOrderData.shopLevel; } GameDataManager.SaveGameData(); diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs index 3ed784c6..c5fcafd2 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs @@ -50,13 +50,14 @@ 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 = bulkOrderData.shopLevel == gameData.AchievedOrderLevel; + var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id); + var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId; GameDataManager.SaveGameData(); LocalCacheManager.Save(ArchivedCallbackTag, new Action(() => { orderIndicatorView.SetIndicate(false, true); })); - orderIndicatorView.SetIndicate(result.result, achieved || gameData.OrderIdInProgress == gameData.CancelOrderId); + orderIndicatorView.SetIndicate(result.result, achieved || cancelled); if (result.result) { var messageList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.BulkOrderTextDataSheet); @@ -65,7 +66,6 @@ public class KitchenManager : MonoBehaviour { // タップで更新 gameData.CompletedProductList.Clear(); - gameData.DeliveredOrder.Clear(); gameData.OrderIdInProgress = result.nextOrderId; if (nextMessageList.Exists(data => data.id == gameData.OrderTextId)) { @@ -127,11 +127,12 @@ public class KitchenManager : MonoBehaviour { return (false, nextOrderId, nextOrderLevel); } - + + var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id); var nextOrderList = bulkOrderList.Where(data => data.shopLevel == nextOrderLevel).ToList(); if (!nextOrderList.Exists(data => data.id == gameData.OrderIdInProgress)) { - // まだ次のオーダーが設定されてない場合shopLevelの一番若いIDを設定 + // まだ次のオーダーが設定されてない場合nextOrderListの一番若いIDを設定 nextOrderId = nextOrderList.First().id; } else if (gameData.OrderIdInProgress == gameData.CancelOrderId && gameData.CancelOrderId > 0) @@ -141,13 +142,19 @@ public class KitchenManager : MonoBehaviour 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; + } if (gameData.OrderIdInProgress == nextOrderId) { return (false, nextOrderId, nextOrderLevel); } - Debug.Log($"{gameData.OrderIdInProgress} {gameData.CancelOrderId} {nextOrderId} {gameData.OrderConditionCount}"); var orderData = nextOrderList.First(data => data.id == nextOrderId); var isFirst = !nextOrderList.Exists(data => data.id == gameData.CancelOrderId); var condition = isFirst ? orderData.firstOrderCondition : orderData.retryCondition;