タンクが空のときの並べ替え対応/購入ボタン透過対応

This commit is contained in:
kimura 2021-09-16 18:13:19 +09:00
parent 374d325dbc
commit 5759d82233
4 changed files with 24 additions and 21 deletions

View File

@ -64,8 +64,23 @@ public class DebugOptionManager : MonoBehaviour
{ {
gameData.ShopStock = Enumerable.Repeat(1, 10).ToList(); gameData.ShopStock = Enumerable.Repeat(1, 10).ToList();
gameData.ShopStock.AddRange(Enumerable.Repeat(2, 10).ToList()); gameData.ShopStock.AddRange(Enumerable.Repeat(2, 10).ToList());
gameData.StorageTanks[0].FlavorId = 2; gameData.StorageTanks = new List<StorageTank>
gameData.StorageTanks[0].AddStock(ProductRarity.Normal, 50); {
new StorageTank(){Id = 1, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Normal, Stock = 0}}},
new StorageTank(){Id = 2, Capacity = 50, FlavorId = 2, Stocks = new List<ProductStockData>
{
new ProductStockData{Rarity = ProductRarity.Normal, Stock = 1},
new ProductStockData{Rarity = ProductRarity.Yellow, Stock = 20},
}},
new StorageTank(){Id = 3, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>
{
new ProductStockData{Rarity = ProductRarity.Copper, Stock = 1},
new ProductStockData{Rarity = ProductRarity.Silver, Stock = 5},
new ProductStockData{Rarity = ProductRarity.Gold, Stock = 10},
new ProductStockData{Rarity = ProductRarity.Rainbow, Stock = 20},
}},
new StorageTank(){Id = 4, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Gold, Stock = 4}}},
};
}).AddTo(this); }).AddTo(this);
refillLittleProductButton.OnClickAsObservable().Subscribe(_ => refillLittleProductButton.OnClickAsObservable().Subscribe(_ =>

View File

@ -1438,6 +1438,7 @@ MonoBehaviour:
lockedTankNumber: {fileID: 8175998083386752690} lockedTankNumber: {fileID: 8175998083386752690}
price: {fileID: 8175998083146003101} price: {fileID: 8175998083146003101}
purchaseButton: {fileID: 8175998083657673474} purchaseButton: {fileID: 8175998083657673474}
buttonSubImage: {fileID: 8175998082971778653}
--- !u!1 &8175998082772346535 --- !u!1 &8175998082772346535
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2225,7 +2226,7 @@ MonoBehaviour:
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1 m_ColorMultiplier: 1
m_FadeDuration: 0.1 m_FadeDuration: 0
m_SpriteState: m_SpriteState:
m_HighlightedSprite: {fileID: 0} m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0} m_PressedSprite: {fileID: 0}

View File

@ -39,24 +39,9 @@ public class ProductManagement : MonoBehaviour
2000, 2000,
2500, 2500,
}; };
// タンクデータ読み込み
gameData.StorageTanks = new List<StorageTank> // タンク並び替え
{ gameData.StorageTanks = gameData.StorageTanks.OrderBy(tank => tank.Stock == 0).ToList();
new StorageTank(){Id = 1, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Normal, Stock = 0}}},
new StorageTank(){Id = 2, Capacity = 50, FlavorId = 2, Stocks = new List<ProductStockData>
{
new ProductStockData{Rarity = ProductRarity.Normal, Stock = 1},
new ProductStockData{Rarity = ProductRarity.Yellow, Stock = 20},
}},
new StorageTank(){Id = 3, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>
{
new ProductStockData{Rarity = ProductRarity.Copper, Stock = 1},
new ProductStockData{Rarity = ProductRarity.Silver, Stock = 5},
new ProductStockData{Rarity = ProductRarity.Gold, Stock = 10},
new ProductStockData{Rarity = ProductRarity.Rainbow, Stock = 20},
}},
new StorageTank(){Id = 4, Capacity = 50, FlavorId = 1, Stocks = new List<ProductStockData>{new ProductStockData{Rarity = ProductRarity.Gold, Stock = 4}}},
};
// タンク設定 // タンク設定
var tankList = view.SetTanks(priceList); var tankList = view.SetTanks(priceList);

View File

@ -29,6 +29,7 @@ public class ProductManagementTankView : MonoBehaviour
[SerializeField] private Text lockedTankNumber; [SerializeField] private Text lockedTankNumber;
[SerializeField] private Text price; [SerializeField] private Text price;
[SerializeField] private Button purchaseButton; [SerializeField] private Button purchaseButton;
[SerializeField] private Image buttonSubImage;
private int tankNumberInt; private int tankNumberInt;
private readonly BoolReactiveProperty isEmply = new BoolReactiveProperty(); private readonly BoolReactiveProperty isEmply = new BoolReactiveProperty();
private readonly BoolReactiveProperty detailButtonActive = new BoolReactiveProperty(); private readonly BoolReactiveProperty detailButtonActive = new BoolReactiveProperty();
@ -105,5 +106,6 @@ public class ProductManagementTankView : MonoBehaviour
public void SetPurchaseButtonActive(bool active) public void SetPurchaseButtonActive(bool active)
{ {
purchaseButton.interactable = active; purchaseButton.interactable = active;
buttonSubImage.color = active ? Color.white : purchaseButton.colors.disabledColor;
} }
} }