From 0fbf6f33f97461eca0c7e1bc326e416de2ddb0b3 Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 13 May 2022 14:20:03 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=AB=E3=82=B9=E3=82=BF=E3=83=9E=E3=82=A4?= =?UTF-8?q?=E3=82=BA=E6=A9=9F=E8=83=BD=20=E3=83=8F=E3=82=A4=E3=83=A9?= =?UTF-8?q?=E3=82=A4=E3=83=88=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/marketing/Scripts/ShopCustomize.cs | 13 ++++++++++++- .../marketing/Scripts/ShopCustomizeSelector.cs | 14 +++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) 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)