From 7d770e166cf646f448becb15990f11f4ee275d57 Mon Sep 17 00:00:00 2001 From: kimura Date: Mon, 13 Sep 2021 09:51:14 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyGame/Scenes/shopping/Scripts/ShopListView.cs | 10 +--------- .../Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs | 11 ++++++++++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopListView.cs b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopListView.cs index 3662790f..fd4c679d 100644 --- a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopListView.cs +++ b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopListView.cs @@ -46,15 +46,7 @@ public class ShopListView : MonoBehaviour index = tabs.Count; tabs.Add((tabCategory, Instantiate(scrollRect.content, scrollRect.content.parent))); } - var itemView = Instantiate(itemViewPrefab, tabs[index].content); - itemView.SetData(shopData); - // show detail view - itemView.DetailButtonObservable.Subscribe(_ => - { - LocalCacheManager.Save(ShopItemDetailView.ItemDetailTag, shopData); - TransitionManager.Instance.LoadSceneAdditive(GameScenes.ShoppingExplanation); - }).AddTo(itemView); - return itemView; + return Instantiate(itemViewPrefab, tabs[index].content); } private ItemCategory GetTabCategory(ItemCategory category) diff --git a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs index aeecafa4..46d55e8c 100644 --- a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs +++ b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs @@ -9,18 +9,21 @@ public class Shopping : MonoBehaviour { [SerializeField] private ShopListView listView; // Start is called before the first frame update + private Subject changeCoinSubject = new Subject(); void Start() { + changeCoinSubject.AddTo(this); + var gameData = GameDataManager.GameData; CoinManager.Instance.ChangeCoin(gameData.coin); HeartMeter.Instance.SetHeart(gameData.Heart); - var changeCoinSubject = new Subject().AddTo(this); // 一覧データ var shopDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ShopDataSheet); foreach (var shopData in shopDataList) { var itemView = listView.AddItemView(shopData); + itemView.SetData(shopData); itemView.SetStockCount(GetItemAmount(shopData)); // コインを監視して購入可能状態を切り替え changeCoinSubject.Subscribe(ownCoin => @@ -47,6 +50,12 @@ public class Shopping : MonoBehaviour LocalCacheManager.Save(ShopItemPurchaseView.ItemPurchaseTag, (shopData, GetItemAmount(shopData), new Action(x => purchaseSubject.OnNext(x)))); TransitionManager.Instance.LoadSceneAdditive(GameScenes.Purchase); }).AddTo(itemView); + // show detail view + itemView.DetailButtonObservable.Subscribe(_ => + { + LocalCacheManager.Save(ShopItemDetailView.ItemDetailTag, shopData); + TransitionManager.Instance.LoadSceneAdditive(GameScenes.ShoppingExplanation); + }).AddTo(itemView); } changeCoinSubject.OnNext(CoinManager.Instance.OwnCoin); }