From 1cdae635b090fd15959512ba441c46e400fdcacf Mon Sep 17 00:00:00 2001 From: kimura Date: Wed, 24 Nov 2021 14:11:43 +0900 Subject: [PATCH] =?UTF-8?q?=E7=B6=9A=E3=81=91=E3=81=A6=E8=AA=BF=E7=90=86?= =?UTF-8?q?=E3=81=99=E3=82=8B=E5=A0=B4=E5=90=88=E3=81=AE=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/Cooking/Scripts/CookingResult.cs | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs index a9beafd0..4d25e749 100644 --- a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs +++ b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs @@ -44,17 +44,11 @@ public class CookingResult : MonoBehaviour var (rarityData, resultData, successAction) = LocalCacheManager.Load<(RarityData, CornResult, Action)>(PopcornGameManager.CookingResultDataTag); result.Value = resultData; SetData(productData, rarityData, viewType); - - // 続けて料理を作ることができるかどうか判定 - var hasSpace = RecipeDetailView.CheckTank(productData); - var checkResult = RecipeDetailView.CheckAmount(productData); - var hasMaterials = checkResult.material1 && checkResult.material2 && checkResult.material3; - var isMakeOne = hasSpace && hasMaterials; if (GameDataManager.GameData.isFirstPlay) { // ボタン非表示 - SetUI(resultData, viewType, isMakeOne, true); + SetUI(resultData, viewType, CheckMakeOne(resultData, productData), true); // 失敗したら再チャレンジ if (resultData == CornResult.Failure) @@ -80,7 +74,7 @@ public class CookingResult : MonoBehaviour result.Subscribe(r => { - SetUI(r, viewType, isMakeOne); + SetUI(r, viewType, CheckMakeOne(r, productData)); if (r != CornResult.Failure) { successAction?.Invoke(); @@ -196,6 +190,22 @@ public class CookingResult : MonoBehaviour } } + // 続けて料理を作ることができるかどうか判定 + private bool CheckMakeOne(CornResult cornResult, ProductData productData) + { + ProductData doubleProductData = productData; + if (cornResult != CornResult.Failure) + { + // まだ在庫追加前なのでレシピvolumeを2倍にしてタンクの空きを確認 + doubleProductData = new ProductData(productData, 1){volume = productData.volume * 2}; + } + var hasSpace = RecipeDetailView.CheckTank(doubleProductData); + //素材確認 + var checkResult = RecipeDetailView.CheckAmount(productData); + var hasMaterials = checkResult.material1 && checkResult.material2 && checkResult.material3; + return hasSpace && hasMaterials; + } + public static void AddStock(ProductData productData, ProductRarity rarity = ProductRarity.Normal) { var gameData = GameDataManager.GameData;