diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs index 6336a0ad..84957a2b 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs @@ -19,19 +19,7 @@ public class ProductManagement : MonoBehaviour [SerializeField] private GameObject tastingDisabledObject; [SerializeField] private ProductManagementView view; private readonly ReactiveProperty state = new ReactiveProperty(); - - // tank price list - private static readonly List PriceList = new List - { - 0, - 500, - 1000, - 3000, - 5000, - 7000, - 9000 - }; - + private void Start() { state.AddTo(this); @@ -48,6 +36,17 @@ public class ProductManagement : MonoBehaviour GameDataManager.SaveGameData(); }); } + + var currentCityId = GameDataManager.GameData.CurrentCityId; + var tankPriceList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.TankPriceDataSheet); + var cityTankPriceList = tankPriceList.Where(data => data.cityId == currentCityId).ToList(); + if (cityTankPriceList.Count == 0) + { + cityTankPriceList = tankPriceList.Where(data => data.cityId == 0).ToList(); + } + var priceList = cityTankPriceList + .OrderBy(data => data.number) + .Select(data => data.price).ToList(); CoinManager.Instance.ChangeCoin(gameData.Coin); HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart); @@ -75,7 +74,7 @@ public class ProductManagement : MonoBehaviour gameData.StorageTanks = gameData.StorageTanks.OrderBy(tank => tank.IsEmpty).ToList(); // タンク設定 - var tankList = view.SetTanks(PriceList); + var tankList = view.SetTanks(priceList); var rarityDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.RarityDataSheet); var productList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ProductDataSheet); var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ShopDataSheet); @@ -89,7 +88,7 @@ public class ProductManagement : MonoBehaviour tankView.SetState(isSmallest ? TankState.Lock : TankState.Unavailable); // タンク購入 var shopData = shopDataList.First(data => data.id == Const.ShopTankId); - var price = PriceList[tankView.TankNumber - 1]; + var price = priceList[tankView.TankNumber - 1]; // 購入可否 tankView.SetCanBuy(price <= CoinManager.Instance.OwnCoin); @@ -112,7 +111,7 @@ public class ProductManagement : MonoBehaviour if (tankView.TankNumber + 1 <= tankList.Count) { tankList[tankView.TankNumber].SetState(TankState.Lock); - tankList[tankView.TankNumber].SetCanBuy(PriceList[tankView.TankNumber] <= CoinManager.Instance.OwnCoin); + tankList[tankView.TankNumber].SetCanBuy(priceList[tankView.TankNumber] <= CoinManager.Instance.OwnCoin); } }