タンクデータ対応
This commit is contained in:
parent
b7e7351eaa
commit
290027f4ea
|
@ -19,19 +19,7 @@ public class ProductManagement : MonoBehaviour
|
||||||
[SerializeField] private GameObject tastingDisabledObject;
|
[SerializeField] private GameObject tastingDisabledObject;
|
||||||
[SerializeField] private ProductManagementView view;
|
[SerializeField] private ProductManagementView view;
|
||||||
private readonly ReactiveProperty<ManagementState> state = new ReactiveProperty<ManagementState>();
|
private readonly ReactiveProperty<ManagementState> state = new ReactiveProperty<ManagementState>();
|
||||||
|
|
||||||
// tank price list
|
|
||||||
private static readonly List<int> PriceList = new List<int>
|
|
||||||
{
|
|
||||||
0,
|
|
||||||
500,
|
|
||||||
1000,
|
|
||||||
3000,
|
|
||||||
5000,
|
|
||||||
7000,
|
|
||||||
9000
|
|
||||||
};
|
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
state.AddTo(this);
|
state.AddTo(this);
|
||||||
|
@ -48,6 +36,17 @@ public class ProductManagement : MonoBehaviour
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var currentCityId = GameDataManager.GameData.CurrentCityId;
|
||||||
|
var tankPriceList = SpreadsheetDataManager.Instance.GetBaseDataList<TankPriceData>(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);
|
CoinManager.Instance.ChangeCoin(gameData.Coin);
|
||||||
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
HeartMeter.Instance.Initialize(gameData.ViewedShopLevel, gameData.Heart);
|
||||||
|
@ -75,7 +74,7 @@ public class ProductManagement : MonoBehaviour
|
||||||
gameData.StorageTanks = gameData.StorageTanks.OrderBy(tank => tank.IsEmpty).ToList();
|
gameData.StorageTanks = gameData.StorageTanks.OrderBy(tank => tank.IsEmpty).ToList();
|
||||||
|
|
||||||
// タンク設定
|
// タンク設定
|
||||||
var tankList = view.SetTanks(PriceList);
|
var tankList = view.SetTanks(priceList);
|
||||||
var rarityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
|
var rarityDataList = SpreadsheetDataManager.Instance.GetBaseDataList<RarityData>(Const.RarityDataSheet);
|
||||||
var productList = SpreadsheetDataManager.Instance.GetBaseDataList<ProductData>(Const.ProductDataSheet);
|
var productList = SpreadsheetDataManager.Instance.GetBaseDataList<ProductData>(Const.ProductDataSheet);
|
||||||
var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet);
|
var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList<ShopData>(Const.ShopDataSheet);
|
||||||
|
@ -89,7 +88,7 @@ public class ProductManagement : MonoBehaviour
|
||||||
tankView.SetState(isSmallest ? TankState.Lock : TankState.Unavailable);
|
tankView.SetState(isSmallest ? TankState.Lock : TankState.Unavailable);
|
||||||
// タンク購入
|
// タンク購入
|
||||||
var shopData = shopDataList.First(data => data.id == Const.ShopTankId);
|
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);
|
tankView.SetCanBuy(price <= CoinManager.Instance.OwnCoin);
|
||||||
|
@ -112,7 +111,7 @@ public class ProductManagement : MonoBehaviour
|
||||||
if (tankView.TankNumber + 1 <= tankList.Count)
|
if (tankView.TankNumber + 1 <= tankList.Count)
|
||||||
{
|
{
|
||||||
tankList[tankView.TankNumber].SetState(TankState.Lock);
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue