カスタマイズ機能アイテム選択修正
This commit is contained in:
parent
daa26f4cc3
commit
3deee94349
|
|
@ -38,38 +38,33 @@ namespace MyGame.Scenes.marketing.Scripts
|
||||||
ShopCustomizeItem selectedItem = null;
|
ShopCustomizeItem selectedItem = null;
|
||||||
foreach (var customizeData in list)
|
foreach (var customizeData in list)
|
||||||
{
|
{
|
||||||
|
var selectSubject = new Subject<Unit>().AddTo(this);
|
||||||
var item = customizeSelector.GenerateItem(category);
|
var item = customizeSelector.GenerateItem(category);
|
||||||
item.SetData(customizeData);
|
item.SetData(customizeData);
|
||||||
|
|
||||||
// 現在設定しているのアイテムを選択
|
if (gameData.ShopCustomizeMyItems.Contains(customizeData.id))
|
||||||
if (customizeData.id == selectedId)
|
|
||||||
{
|
|
||||||
selectedItem = item;
|
|
||||||
item.SetState(ShopCustomizeItemState.Selected);
|
|
||||||
}
|
|
||||||
else if (gameData.ShopCustomizeMyItems.Contains(customizeData.id))
|
|
||||||
{
|
{
|
||||||
item.SetState(ShopCustomizeItemState.Purchased);
|
item.SetState(ShopCustomizeItemState.Purchased);
|
||||||
}
|
}
|
||||||
else if (gameData.ShopCustomizeLevel > customizeData.level)
|
else if (gameData.ShopCustomizeLevel >= customizeData.level)
|
||||||
{
|
|
||||||
item.SetState(ShopCustomizeItemState.Lock);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
item.SetState(ShopCustomizeItemState.Unlock);
|
item.SetState(ShopCustomizeItemState.Unlock);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item.SetState(ShopCustomizeItemState.Lock);
|
||||||
|
}
|
||||||
|
|
||||||
item.SelectObservable.Subscribe(_ =>
|
item.SelectObservable.Merge(selectSubject).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
if (item != selectedItem)
|
if (item != selectedItem)
|
||||||
{
|
{
|
||||||
selectedItem.SetState(ShopCustomizeItemState.Purchased);
|
selectedItem.SetState(ShopCustomizeItemState.Purchased);
|
||||||
|
selectedItem = item;
|
||||||
}
|
}
|
||||||
selectedItem = item;
|
|
||||||
item.SetState(ShopCustomizeItemState.Selected);
|
item.SetState(ShopCustomizeItemState.Selected);
|
||||||
gameData.ShopCustomizeSettings.SetSetting(customizeData);
|
gameData.ShopCustomizeSettings.SetSetting(customizeData);
|
||||||
// marketView.SetItem(customizeData);
|
marketView.SetItem(customizeData);
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
item.DetailObservable.Subscribe(_ =>
|
item.DetailObservable.Subscribe(_ =>
|
||||||
{
|
{
|
||||||
|
|
@ -81,9 +76,16 @@ namespace MyGame.Scenes.marketing.Scripts
|
||||||
ShopCustomizePurchaseDialog.ShowDialog(customizeData, false, () =>
|
ShopCustomizePurchaseDialog.ShowDialog(customizeData, false, () =>
|
||||||
{
|
{
|
||||||
PurchaseItem(customizeData);
|
PurchaseItem(customizeData);
|
||||||
item.SetState(ShopCustomizeItemState.Selected);
|
selectSubject.OnNext(Unit.Default);
|
||||||
});
|
});
|
||||||
}).AddTo(this);
|
}).AddTo(this);
|
||||||
|
|
||||||
|
// 現在設定しているのアイテムを選択
|
||||||
|
if (customizeData.id == selectedId)
|
||||||
|
{
|
||||||
|
selectedItem = item;
|
||||||
|
selectSubject.OnNext(Unit.Default);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue