カスタマイズ機能アイテム選択修正

This commit is contained in:
kimura 2022-05-13 13:34:27 +09:00
parent daa26f4cc3
commit 3deee94349
1 changed files with 19 additions and 17 deletions

View File

@ -38,38 +38,33 @@ namespace MyGame.Scenes.marketing.Scripts
ShopCustomizeItem selectedItem = null;
foreach (var customizeData in list)
{
var selectSubject = new Subject<Unit>().AddTo(this);
var item = customizeSelector.GenerateItem(category);
item.SetData(customizeData);
// 現在設定しているのアイテムを選択
if (customizeData.id == selectedId)
{
selectedItem = item;
item.SetState(ShopCustomizeItemState.Selected);
}
else if (gameData.ShopCustomizeMyItems.Contains(customizeData.id))
if (gameData.ShopCustomizeMyItems.Contains(customizeData.id))
{
item.SetState(ShopCustomizeItemState.Purchased);
}
else if (gameData.ShopCustomizeLevel > customizeData.level)
{
item.SetState(ShopCustomizeItemState.Lock);
}
else
else if (gameData.ShopCustomizeLevel >= customizeData.level)
{
item.SetState(ShopCustomizeItemState.Unlock);
}
else
{
item.SetState(ShopCustomizeItemState.Lock);
}
item.SelectObservable.Subscribe(_ =>
item.SelectObservable.Merge(selectSubject).Subscribe(_ =>
{
if (item != selectedItem)
{
selectedItem.SetState(ShopCustomizeItemState.Purchased);
}
selectedItem = item;
}
item.SetState(ShopCustomizeItemState.Selected);
gameData.ShopCustomizeSettings.SetSetting(customizeData);
// marketView.SetItem(customizeData);
marketView.SetItem(customizeData);
}).AddTo(this);
item.DetailObservable.Subscribe(_ =>
{
@ -81,9 +76,16 @@ namespace MyGame.Scenes.marketing.Scripts
ShopCustomizePurchaseDialog.ShowDialog(customizeData, false, () =>
{
PurchaseItem(customizeData);
item.SetState(ShopCustomizeItemState.Selected);
selectSubject.OnNext(Unit.Default);
});
}).AddTo(this);
// 現在設定しているのアイテムを選択
if (customizeData.id == selectedId)
{
selectedItem = item;
selectSubject.OnNext(Unit.Default);
}
}
}
}