diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomize.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomize.cs index 0dd445ab..aefe7280 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomize.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomize.cs @@ -28,7 +28,14 @@ namespace MyGame.Scenes.marketing.Scripts { ShopCustomizeInfoDialog.ShowDialog(); }).AddTo(this); - customizeSelector.Initialize(); + + customizeSelector.Initialize(ShopCustomizeCategory.Category1); + customizeSelector.SelecedCategory.Pairwise().Subscribe(x => + { + marketView.SetHighlight(x.Previous, false); + marketView.SetHighlight(x.Current, true); + }).AddTo(this); + // カード生成 var categories = (ShopCustomizeCategory[])Enum.GetValues(typeof(ShopCustomizeCategory)); foreach (var category in categories) @@ -65,6 +72,10 @@ namespace MyGame.Scenes.marketing.Scripts item.SetState(ShopCustomizeItemState.Selected); gameData.ShopCustomizeSettings.SetSetting(customizeData); marketView.SetItem(customizeData); + if (customizeSelector.SelecedCategory.Value == category) + { + marketView.SetHighlight(category, true); + } }).AddTo(this); item.DetailObservable.Subscribe(_ => { diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomizeSelector.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomizeSelector.cs index 4f252e8e..3109d169 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomizeSelector.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopCustomizeSelector.cs @@ -19,11 +19,18 @@ namespace MyGame.Scenes.marketing.Scripts [SerializeField] private Transform listPrefab; [SerializeField] private ScrollRect scrollRect; + public IReadOnlyReactiveProperty SelecedCategory => selectedCategory; + private readonly ReactiveProperty selectedCategory = new ReactiveProperty(); private readonly Dictionary targetDict = new Dictionary(); private readonly Dictionary buttonDict = new Dictionary(); private readonly CompositeDisposable initializeCompositeDisposable = new CompositeDisposable(); - public void Initialize() + private void Start() + { + selectedCategory.AddTo(this); + } + + public void Initialize(ShopCustomizeCategory firstSelectCategory) { var viewport = scrollRect.viewport; viewport.DestroyAllChildrens(); @@ -42,10 +49,11 @@ namespace MyGame.Scenes.marketing.Scripts initializeCompositeDisposable.Clear(); buttonDict.Select(pair => pair.Value.OnClickObservable.Select(_ => pair.Key)) .Merge() - .StartWith(ShopCustomizeCategory.Category1) + .StartWith(firstSelectCategory) .ThrottleFirst(TimeSpan.FromSeconds(.2f)) - .Subscribe(ChangeCategory) + .Subscribe(x => selectedCategory.Value = x) .AddTo(initializeCompositeDisposable); + selectedCategory.Subscribe(ChangeCategory).AddTo(this); } public ShopCustomizeItem GenerateItem(ShopCustomizeCategory category)