From 8032d161757834922d46d4669b833601401d86c2 Mon Sep 17 00:00:00 2001 From: kimura Date: Thu, 3 Feb 2022 12:12:08 +0900 Subject: [PATCH] =?UTF-8?q?=E6=9D=90=E6=96=99=E6=B6=88=E8=B2=BB=E3=82=BF?= =?UTF-8?q?=E3=82=A4=E3=83=9F=E3=83=B3=E3=82=B0=E3=82=92=E8=AA=BF=E7=90=86?= =?UTF-8?q?=E3=83=AA=E3=82=B6=E3=83=AB=E3=83=88=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/Cooking/Scripts/CookingResult.cs | 51 ++++++++++++++----- .../Scenes/recipe/Scripts/RecipeDetailView.cs | 2 - 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs index 519f2f61..9d124a18 100644 --- a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs +++ b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/CookingResult.cs @@ -44,6 +44,39 @@ public class CookingResult : MonoBehaviour var (rarityData, resultData, successAction) = LocalCacheManager.Load<(RarityData, CornResult, Action)>(PopcornGameManager.CookingResultDataTag); result.Value = resultData; SetData(productData, rarityData, viewType); + + // 材料消費&仮獲得 + RecipeDetailView.ConsumeMaterial(productData); + if (viewType == ProductViewType.Default) + { + result.Subscribe(cornResult => + { + // 仮獲得データ登録 + GameDataManager.GameData.WaitAddStock.FlavorId = productData.id; + GameDataManager.GameData.WaitAddStock.Stock = cornResult == CornResult.Failure ? 0 : productData.volume; + GameDataManager.GameData.WaitAddStock.Rarity = cornResult == CornResult.Perfect ? rarityData.Rarity : ProductRarity.Normal; + GameDataManager.SaveGameData(); + }).AddTo(this); + } + else + { + // 大量注文時処理 + var materialNumber = LocalCacheManager.Load(BulkOrder.MaterialNumberTag); + result.Where(x => x != CornResult.Failure ).Subscribe(cornResult => + { + if (!(GameDataManager.GameData.CompletedProductList.FirstOrDefault(data => data.Number == materialNumber) is BulkOrderResultData bulkOrderResultData)) + { + bulkOrderResultData = new BulkOrderResultData + { + Number = materialNumber + }; + GameDataManager.GameData.CompletedProductList.Add(bulkOrderResultData); + } + // レア上書き + bulkOrderResultData.Rarity = cornResult == CornResult.Perfect ? rarityData.Rarity : ProductRarity.Normal; + GameDataManager.SaveGameData(); + }).AddTo(this); + } // チュートリアル時 if (!GameDataManager.GameData.FinishedFlags.HasFlag(TutorialFlag.FirstPlay)) @@ -72,7 +105,8 @@ public class CookingResult : MonoBehaviour okButton.OnClickAsObservable().Take(1).Subscribe(_ => { // 獲得、遷移 - AddStock(productData, resultData == CornResult.Perfect ? rarityData.Rarity : ProductRarity.Normal); + MoveStock(GameDataManager.GameData.WaitAddStock); + GameDataManager.SaveGameData(); TransitionManager.Instance.LoadScene(GameScenes.Main); }).AddTo(this); return; @@ -95,7 +129,8 @@ public class CookingResult : MonoBehaviour okButton.OnClickAsObservable().Take(1).Subscribe(_ => { // 獲得、遷移 - AddStock(productData, result.Value == CornResult.Perfect ? rarityData.Rarity : ProductRarity.Normal); + MoveStock(GameDataManager.GameData.WaitAddStock); + GameDataManager.SaveGameData(); Market.Instance.IsPause.Value = false; TransitionManager.Instance.LoadScene(GameScenes.Main); }).AddTo(this); @@ -103,16 +138,8 @@ public class CookingResult : MonoBehaviour else { // 大量注文時処理 - var materialNumber = LocalCacheManager.Load(BulkOrder.MaterialNumberTag); okButton.OnClickAsObservable().Take(1).Subscribe(_ => { - // 獲得、遷移 - if (!GameDataManager.GameData.CompletedProductList.Exists(data => data.Number == materialNumber)) - { - var rarity = result.Value == CornResult.Perfect ? rarityData.Rarity : ProductRarity.Normal; - GameDataManager.GameData.CompletedProductList.Add(new BulkOrderResultData(){Number = materialNumber, Rarity = rarity}); - GameDataManager.SaveGameData(); - } TransitionManager.Instance.LoadScene(GameScenes.Main); }).AddTo(this); } @@ -138,8 +165,8 @@ public class CookingResult : MonoBehaviour makeOneButton.OnClickAsObservable().Take(1).Subscribe(_ => { // 獲得、遷移 - AddStock(productData, result.Value == CornResult.Perfect ? rarityData.Rarity : ProductRarity.Normal); - RecipeDetailView.ConsumeMaterial(productData); + MoveStock(GameDataManager.GameData.WaitAddStock); + GameDataManager.SaveGameData(); Market.Instance.IsPause.Value = false; SoundManager.Instance.ChangeVolumeUniqueBGM(1f); TransitionManager.Instance.UnloadScene(GameScenes.CookingResults); diff --git a/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs b/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs index 4c073292..5c12e7a2 100644 --- a/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs +++ b/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs @@ -67,8 +67,6 @@ public class RecipeDetailView : MonoBehaviour nextButton.OnClickAsObservable().Take(1).Subscribe(_ => { LocalCacheManager.Save(PopcornGameManager.PanDataTag, panSelector.SelectedPanData.Value); - // 消費 - ConsumeMaterial(data); TransitionManager.Instance.LoadScene(GameScenes.Cooking); }).AddTo(this);