From e016e0e6ad5de07aa1184a4a87c0f98b4a524695 Mon Sep 17 00:00:00 2001 From: kimura Date: Mon, 26 Sep 2022 11:22:09 +0900 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E8=88=97=E9=96=8B=E6=94=BE=E3=83=80?= =?UTF-8?q?=E3=82=A4=E3=82=A2=E3=83=AD=E3=82=B0=E5=87=A6=E7=90=86=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorldMap/Scripts/FoodStandDialog.cs | 40 +++++++++++++++++++ .../WorldMap/Scripts/FoodStandDialog.cs.meta | 3 ++ .../Scenes/WorldMap/WorldMap_FoodStand.unity | 16 ++++++++ 3 files changed, 59 insertions(+) create mode 100644 popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs create mode 100644 popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs.meta diff --git a/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs b/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs new file mode 100644 index 00000000..677ce6be --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs @@ -0,0 +1,40 @@ +using System; +using UniRx; +using UnityEngine; +using UnityEngine.UI; + +namespace MyGame.Scenes.WorldMap.Scripts +{ + public class FoodStandDialog : MonoBehaviour + { + private static readonly string CallbackTag = "FoodStandDialogCallback"; + private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger"); + private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger"); + + [SerializeField] private Animator backgroundAnimator; + [SerializeField] private Button closeButton; + [SerializeField] private Text titleText; + + private void Start() + { + var (cityData, onClose) = LocalCacheManager.Load<(CityData, Action)>(CallbackTag); + LocalCacheManager.Remove(CallbackTag); + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => + { + onClose?.Invoke(); + transform.parent.SetLocalScale(0); + backgroundAnimator.SetTrigger(CloseTrigger); + this.CallWaitForSeconds(.25f, () => + { + TransitionManager.Instance.UnloadScene(GameScenes.WorldMap_FoodStand); + }); + }).AddTo(this); + titleText.text = cityData.Name; + } + + public static void ShowDialog(CityData cityData, Action onClose = null){ + LocalCacheManager.Save(CallbackTag, (cityData, onClose)); + TransitionManager.Instance.LoadSceneAdditive(GameScenes.WorldMap_FoodStand); + } + } +} \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs.meta b/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs.meta new file mode 100644 index 00000000..41f98b0d --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/WorldMap/Scripts/FoodStandDialog.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bd35379796ba4fa88dfaf64226912af1 +timeCreated: 1663310221 \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/WorldMap/WorldMap_FoodStand.unity b/popcorn/Assets/MyGame/Scenes/WorldMap/WorldMap_FoodStand.unity index a90fb0dd..0202ca2d 100644 --- a/popcorn/Assets/MyGame/Scenes/WorldMap/WorldMap_FoodStand.unity +++ b/popcorn/Assets/MyGame/Scenes/WorldMap/WorldMap_FoodStand.unity @@ -8236,6 +8236,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 9205686914717556668} + - component: {fileID: 9205686914717556669} m_Layer: 5 m_Name: Window m_TagString: Untagged @@ -8265,6 +8266,21 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -280} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &9205686914717556669 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9205686914717556667} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bd35379796ba4fa88dfaf64226912af1, type: 3} + m_Name: + m_EditorClassIdentifier: + backgroundAnimator: {fileID: 9205686915076572998} + closeButton: {fileID: 9205686916003356041} + titleText: {fileID: 9205686916117522798} --- !u!1 &9205686914755245701 GameObject: m_ObjectHideFlags: 0