材料消費タイミングを調理リザルトに変更
This commit is contained in:
parent
1108e17eb6
commit
8032d16175
|
|
@ -45,6 +45,39 @@ public class CookingResult : MonoBehaviour
|
||||||
result.Value = resultData;
|
result.Value = resultData;
|
||||||
SetData(productData, rarityData, viewType);
|
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))
|
if (!GameDataManager.GameData.FinishedFlags.HasFlag(TutorialFlag.FirstPlay))
|
||||||
{
|
{
|
||||||
|
|
@ -72,7 +105,8 @@ public class CookingResult : MonoBehaviour
|
||||||
okButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
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);
|
TransitionManager.Instance.LoadScene(GameScenes.Main);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
return;
|
return;
|
||||||
|
|
@ -95,7 +129,8 @@ public class CookingResult : MonoBehaviour
|
||||||
okButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
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;
|
Market.Instance.IsPause.Value = false;
|
||||||
TransitionManager.Instance.LoadScene(GameScenes.Main);
|
TransitionManager.Instance.LoadScene(GameScenes.Main);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
@ -103,16 +138,8 @@ public class CookingResult : MonoBehaviour
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// 大量注文時処理
|
// 大量注文時処理
|
||||||
var materialNumber = LocalCacheManager.Load<int>(BulkOrder.MaterialNumberTag);
|
|
||||||
okButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
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);
|
TransitionManager.Instance.LoadScene(GameScenes.Main);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
}
|
}
|
||||||
|
|
@ -138,8 +165,8 @@ public class CookingResult : MonoBehaviour
|
||||||
makeOneButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
makeOneButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
// 獲得、遷移
|
// 獲得、遷移
|
||||||
AddStock(productData, result.Value == CornResult.Perfect ? rarityData.Rarity : ProductRarity.Normal);
|
MoveStock(GameDataManager.GameData.WaitAddStock);
|
||||||
RecipeDetailView.ConsumeMaterial(productData);
|
GameDataManager.SaveGameData();
|
||||||
Market.Instance.IsPause.Value = false;
|
Market.Instance.IsPause.Value = false;
|
||||||
SoundManager.Instance.ChangeVolumeUniqueBGM(1f);
|
SoundManager.Instance.ChangeVolumeUniqueBGM(1f);
|
||||||
TransitionManager.Instance.UnloadScene(GameScenes.CookingResults);
|
TransitionManager.Instance.UnloadScene(GameScenes.CookingResults);
|
||||||
|
|
|
||||||
|
|
@ -67,8 +67,6 @@ public class RecipeDetailView : MonoBehaviour
|
||||||
nextButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
nextButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
LocalCacheManager.Save(PopcornGameManager.PanDataTag, panSelector.SelectedPanData.Value);
|
LocalCacheManager.Save(PopcornGameManager.PanDataTag, panSelector.SelectedPanData.Value);
|
||||||
// 消費
|
|
||||||
ConsumeMaterial(data);
|
|
||||||
TransitionManager.Instance.LoadScene(GameScenes.Cooking);
|
TransitionManager.Instance.LoadScene(GameScenes.Cooking);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue