From b2c3871b5050bafe31a7c732027c135d2147e5d5 Mon Sep 17 00:00:00 2001 From: kimura Date: Tue, 19 Apr 2022 17:52:24 +0900 Subject: [PATCH] =?UTF-8?q?=E8=A9=A6=E9=A3=9F=E3=83=80=E3=82=A4=E3=82=A2?= =?UTF-8?q?=E3=83=AD=E3=82=B0=E5=91=A8=E3=82=8A=E3=83=AA=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=AF=E3=82=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyGame/Scenes/marketing/Scripts/ProductManagement.cs | 9 ++++----- .../MyGame/Scenes/marketing/Scripts/TastingView.cs | 8 +++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs index ecaee574..80fb06c2 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ProductManagement.cs @@ -179,16 +179,15 @@ public class ProductManagement : MonoBehaviour tankList[index].SetState(TankState.Selected); var tankData = gameData.StorageTanks[index]; - selectedTank.Value = (tankList[index].TankNumber, productList.FirstOrDefault(data => data.id == tankData.FlavorId)); - Action tastingAction = () => + selectedTank.Value = (index + 1, productList.FirstOrDefault(data => data.id == tankData.FlavorId)); + void TastingAction() { state.Value = ManagementState.None; Tasting(selectedTank.Value.num); tankList[selectedTank.Value.num - 1].SetData(gameData.StorageTanks[selectedTank.Value.num - 1]); SetActiveTastingButton(gameData.StorageTanks.Any(tank => !tank.IsEmpty)); - }; - LocalCacheManager.Save(TastingView.TastingDataTag, (selectedTank.AsObservable(), new Action(() => state.Value = ManagementState.None), tastingAction)); - TransitionManager.Instance.LoadSceneAdditive(GameScenes.Tasting); + } + TastingView.ShowDialog(selectedTank.AsObservable(), () => state.Value = ManagementState.None, TastingAction); break; default: throw new ArgumentOutOfRangeException(nameof(mState), mState, null); diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs index 1a02c385..8653b887 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs @@ -6,7 +6,7 @@ using UnityEngine.UI; public class TastingView : MonoBehaviour { - public static readonly string TastingDataTag = "TastingData"; + private static readonly string TastingDataTag = "TastingData"; private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger"); private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger"); @@ -44,4 +44,10 @@ public class TastingView : MonoBehaviour }); }).AddTo(this); } + + public static void ShowDialog(IObservable<(int tankNum, ProductData productData)> selectedObservable, Action closeButtonAction, Action tastingButtonAction) + { + LocalCacheManager.Save(TastingDataTag, (selectedObservable, closeButtonAction, tastingButtonAction)); + TransitionManager.Instance.LoadSceneAdditive(GameScenes.Tasting); + } } \ No newline at end of file