ポップコーン完成時の保存場所の計算を修正
This commit is contained in:
parent
97d2022741
commit
af3bf40a65
|
|
@ -95,7 +95,10 @@ public class PopcornGameManager : MonoBehaviour
|
||||||
this.CallWaitForSeconds(1.2f, () =>
|
this.CallWaitForSeconds(1.2f, () =>
|
||||||
{
|
{
|
||||||
SetResult(x);
|
SetResult(x);
|
||||||
AddStock();
|
if (x != CornResult.Failure)
|
||||||
|
{
|
||||||
|
AddStock();
|
||||||
|
}
|
||||||
// 画面タップで次へ
|
// 画面タップで次へ
|
||||||
this.UpdateAsObservable()
|
this.UpdateAsObservable()
|
||||||
.Select(_ => Input.GetMouseButton(0))
|
.Select(_ => Input.GetMouseButton(0))
|
||||||
|
|
@ -170,21 +173,19 @@ public class PopcornGameManager : MonoBehaviour
|
||||||
var recipe = LocalCacheManager.Load<RecipeData>(RecipeDetailView.DetailRecipeTag);
|
var recipe = LocalCacheManager.Load<RecipeData>(RecipeDetailView.DetailRecipeTag);
|
||||||
var gameData = GameDataManager.GameData;
|
var gameData = GameDataManager.GameData;
|
||||||
// 店頭の空きに追加
|
// 店頭の空きに追加
|
||||||
if (21 >= gameData.ShopStock.Count + recipe.Volume)
|
var remain = recipe.Volume;
|
||||||
|
var shopSpace = Market.ShopStockCount - gameData.ShopStock.Count;
|
||||||
|
if (shopSpace > 0)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < recipe.Volume; i++)
|
var stockCount = Mathf.Min(shopSpace, remain);
|
||||||
|
for (int i = 0; i < stockCount; i++)
|
||||||
{
|
{
|
||||||
gameData.ShopStock.Add(recipe.RecipeId);
|
gameData.ShopStock.Add(recipe.RecipeId);
|
||||||
}
|
}
|
||||||
GameDataManager.SaveGameData();
|
remain -= stockCount;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
// 空のタンクに追加
|
if (remain == 0)
|
||||||
var emptyTankIndex = gameData.StorageTanks.FindIndex(x => x.Stock == 0);
|
|
||||||
if (emptyTankIndex != -1)
|
|
||||||
{
|
{
|
||||||
gameData.StorageTanks[emptyTankIndex].FlavorId = recipe.RecipeId;
|
|
||||||
gameData.StorageTanks[emptyTankIndex].Stock = recipe.Volume;
|
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -194,13 +195,28 @@ public class PopcornGameManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
// 同じフレーバーのタンクの空きに追加
|
// 同じフレーバーのタンクの空きに追加
|
||||||
var tank = gameData.StorageTanks[index];
|
var tank = gameData.StorageTanks[index];
|
||||||
if (tank.Capacity >= tank.Stock + recipe.Volume)
|
var tankSpace = tank.Capacity - tank.Stock;
|
||||||
|
if (tankSpace > 0)
|
||||||
{
|
{
|
||||||
tank.Stock += recipe.Volume;
|
var stockCount = Mathf.Min(tankSpace, remain);
|
||||||
|
tank.Stock += stockCount;
|
||||||
gameData.StorageTanks[index] = tank;
|
gameData.StorageTanks[index] = tank;
|
||||||
GameDataManager.SaveGameData();
|
remain -= stockCount;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (remain == 0)
|
||||||
|
{
|
||||||
|
GameDataManager.SaveGameData();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 空のタンクに追加
|
||||||
|
var emptyTankIndex = gameData.StorageTanks.FindIndex(x => x.Stock == 0);
|
||||||
|
if (emptyTankIndex != -1)
|
||||||
|
{
|
||||||
|
gameData.StorageTanks[emptyTankIndex].FlavorId = recipe.RecipeId;
|
||||||
|
gameData.StorageTanks[emptyTankIndex].Stock = remain;
|
||||||
|
GameDataManager.SaveGameData();
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue