リファクタ

This commit is contained in:
kimura 2022-04-19 17:57:31 +09:00
parent 3d599a4eff
commit 980ed76a58
1 changed files with 8 additions and 12 deletions

View File

@ -84,16 +84,11 @@ public class ProductManagement : MonoBehaviour
if (tankView.TankNumber > gameData.StorageTanks.Count)
{
// 価格の一番小さいタンクのみ購入できるようにする
if (tankView.TankNumber == gameData.StorageTanks.Count + 1)
{
tankView.SetState(TankState.Lock);
}
else
{
tankView.SetState(TankState.Unavailable);
}
var isSmallest = tankView.TankNumber == gameData.StorageTanks.Count + 1;
tankView.SetState(isSmallest ? TankState.Lock : TankState.Unavailable);
// タンク購入
var shopData = shopDataList.First(data => data.id == Const.ShopTankId);
shopData.price = PriceList[tankView.TankNumber - 1];
// 購入可否
tankView.SetCanBuy(shopData.price <= CoinManager.Instance.OwnCoin);
@ -103,10 +98,10 @@ public class ProductManagement : MonoBehaviour
.TakeWhile(_ => tankView.State.Value == TankState.Lock || tankView.State.Value == TankState.Unavailable)
.Subscribe(_ =>
{
Action<int> purchaseAction = amount =>
void PurchaseAction(int amount)
{
// タンク追加
gameData.StorageTanks.Add(new StorageTank() {Capacity = Const.TankCapacity});
gameData.StorageTanks.Add(new StorageTank { Capacity = Const.TankCapacity });
tankView.SetData(gameData.StorageTanks[tankView.TankNumber - 1]);
tankView.SetState(TankState.Unlock);
CoinManager.Instance.SubCoin(shopData.price);
@ -118,9 +113,10 @@ public class ProductManagement : MonoBehaviour
tankList[tankView.TankNumber].SetState(TankState.Lock);
tankList[tankView.TankNumber].SetCanBuy(PriceList[tankView.TankNumber] <= CoinManager.Instance.OwnCoin);
}
};
}
shopData.price = PriceList[tankView.TankNumber - 1];
ShopItemPurchaseView.ShowDialog((shopData, 0), purchaseAction);
ShopItemPurchaseView.ShowDialog((shopData, 0), PurchaseAction);
}).AddTo(tankView);
}
else