diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs index 078ea603..2f85242d 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs @@ -419,7 +419,7 @@ public class Market : SingletonMonoBehaviour var targetIndex = gameData.ShopStock.FindIndex(data => data.FlavorId == stockData.FlavorId && data.Rarity == stockData.Rarity); gameData.ShopStock.RemoveAt(targetIndex); gameData.AddSalesCount(stockData.FlavorId, 1, stockData.Rarity); - coin += productData.price * (1 + rarityData.rate / 100); + coin += productData.GetRarityPrice(rarityData.Rarity); } return coin; } diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs index 7462aed9..54078aa3 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs @@ -119,9 +119,8 @@ public class ProductManagement : MonoBehaviour var tankStock = gameData.StorageTanks.Where(x => x.FlavorId == tankData.FlavorId).Sum(x => x.Stock); var totalStock = shopStock + tankStock; var productData = productList.FirstOrDefault(data => data.id == tankData.FlavorId); - var price = productData?.price ?? 0; List<(ProductRarity rarity, int price, int stock)> raritySummaryData = rarityDataList.Select(x => - (x.Rarity, price * x.rate / 100, tankData.Stocks.FirstOrDefault(sd => sd.Rarity == x.Rarity)?.Stock ?? 0) + (x.Rarity, productData?.GetRarityPrice(x.Rarity) ?? 0, tankData.Stocks.FirstOrDefault(sd => sd.Rarity == x.Rarity)?.Stock ?? 0) ).ToList(); LocalCacheManager.Save(TankDetailView.TankDetailDataTag, (tankView.TankNumber, totalStock, tankData, productData, raritySummaryData)); TransitionManager.Instance.LoadSceneAdditive(GameScenes.PopcornDescription); diff --git a/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs b/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs index bb4efea6..b40ee752 100644 --- a/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs +++ b/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs @@ -297,6 +297,27 @@ public sealed class ProductData { return materialList.Count(material => material.id != Const.NotSetMaterialId); } + + public int GetRarityPrice(ProductRarity rarity) + { + switch (rarity) + { + case ProductRarity.Normal: + return rarity1Price; + case ProductRarity.Yellow: + return rarity2Price; + case ProductRarity.Copper: + return rarity3Price; + case ProductRarity.Silver: + return rarity4Price; + case ProductRarity.Gold: + return rarity5Price; + case ProductRarity.Rainbow: + return rarity6Price; + default: + throw new ArgumentOutOfRangeException(nameof(rarity), rarity, null); + } + } public Transform GetIconPrefab() {