材料消費タイミングを調理リザルトに変更
This commit is contained in:
parent
1108e17eb6
commit
8032d16175
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue