addstockをProductStockDataに対応
This commit is contained in:
parent
69474cea6a
commit
973384ccfd
|
|
@ -212,15 +212,25 @@ public class CookingResult : MonoBehaviour
|
|||
|
||||
public static void AddStock(ProductData productData, ProductRarity rarity = ProductRarity.Normal)
|
||||
{
|
||||
AddStock(new ProductStockData{FlavorId = productData.id, Stock = productData.volume, Rarity = rarity});
|
||||
GameDataManager.SaveGameData();
|
||||
}
|
||||
|
||||
public static void AddStock(ProductStockData productStockData)
|
||||
{
|
||||
if (productStockData.Stock == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
var gameData = GameDataManager.GameData;
|
||||
// 店頭の空きに追加
|
||||
var remain = productData.volume;
|
||||
var remain = productStockData.Stock;
|
||||
var shopSpace = Market.ShopStockCount - gameData.ShopStock.Count;
|
||||
var stockCount = Mathf.Min(shopSpace, remain);
|
||||
gameData.ShopStock.AddRange(Enumerable.Repeat(new ProductStockData
|
||||
{
|
||||
FlavorId = productData.id,
|
||||
Rarity = rarity,
|
||||
FlavorId = productStockData.FlavorId,
|
||||
Rarity = productStockData.Rarity,
|
||||
}, stockCount));
|
||||
remain -= stockCount;
|
||||
// ShopStockに補充された場合、DisplayFlavors更新
|
||||
|
|
@ -235,7 +245,7 @@ public class CookingResult : MonoBehaviour
|
|||
// 空きのタンクを確認
|
||||
gameData.StorageTanks
|
||||
.Select((tank, i) => (tank, i))
|
||||
.Where(x => x.tank.IsEmpty || x.tank.FlavorId == productData.id && !x.tank.IsFull)
|
||||
.Where(x => x.tank.IsEmpty || x.tank.FlavorId == productStockData.FlavorId && !x.tank.IsFull)
|
||||
.Select(x => (x.i, space: x.tank.Capacity - x.tank.Stock))
|
||||
.OrderBy(x => x.space)
|
||||
.ToList()
|
||||
|
|
@ -248,14 +258,13 @@ public class CookingResult : MonoBehaviour
|
|||
// タンクが空ならフレーバー設定
|
||||
if (gameData.StorageTanks[x.i].IsEmpty)
|
||||
{
|
||||
gameData.StorageTanks[x.i].FlavorId = productData.id;
|
||||
gameData.StorageTanks[x.i].FlavorId = productStockData.FlavorId;
|
||||
}
|
||||
// タンクに追加
|
||||
stockCount = Mathf.Min(x.space, remain);
|
||||
gameData.StorageTanks[x.i].AddStock(rarity, stockCount);
|
||||
gameData.StorageTanks[x.i].AddStock(productStockData.Rarity, stockCount);
|
||||
remain -= stockCount;
|
||||
});
|
||||
GameDataManager.SaveGameData();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue