続けて調理する場合の判定を修正

This commit is contained in:
kimura 2021-11-24 14:11:43 +09:00
parent 3542b74e52
commit 1cdae635b0
1 changed files with 18 additions and 8 deletions

View File

@ -45,16 +45,10 @@ public class CookingResult : MonoBehaviour
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を倍にしてタンクの空きを確認
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;