材料消費タイミングを調理リザルトに変更

This commit is contained in:
kimura 2022-02-03 12:12:08 +09:00
parent 1108e17eb6
commit 8032d16175
2 changed files with 39 additions and 14 deletions

View File

@ -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<int>(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<int>(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);

View File

@ -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);