From 874baf5e03aac83e78dbe7ffbd20b5a4a8406ac9 Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 15 Apr 2022 11:21:30 +0900 Subject: [PATCH] add AutoCookCompleteView.cs --- .../Main/Scripts/AutoCookCompleteView.cs | 46 +++++++++++++++++++ .../Main/Scripts/AutoCookCompleteView.cs.meta | 3 ++ 2 files changed, 49 insertions(+) create mode 100644 popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs create mode 100644 popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs.meta diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs new file mode 100644 index 00000000..122b11ab --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs @@ -0,0 +1,46 @@ +using System; +using System.Linq; +using UniRx; +using UnityEngine; +using UnityEngine.UI; + +namespace MyGame.Scenes.Main.Scripts +{ + public class AutoCookCompleteView : MonoBehaviour + { + private static readonly string CallbackTag = "AutoCookCompleteViewCallback"; + 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 Button getButton; + + [SerializeField] private Transform[] popcorns; + private void Start() + { + var gameData = GameDataManager.GameData; + var autoCookDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.AutoCookDataSheet); + var autoCookData = autoCookDataList.First(data => data.level == gameData.AutoCookLevel); + + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => + { + LocalCacheManager.Load(CallbackTag, null)?.Invoke(); + LocalCacheManager.Remove(CallbackTag); + transform.parent.SetLocalScale(0); + backgroundAnimator.SetTrigger(CloseTrigger); + this.CallWaitForSeconds(.25f, () => + { + TransitionManager.Instance.UnloadScene(GameScenes.AutomaticCookingComplete); + }); + }).AddTo(this); + + + } + + public static void ShowDialog(Action onClose = null){ + LocalCacheManager.Save(CallbackTag, onClose); + TransitionManager.Instance.LoadSceneAdditive(GameScenes.AutomaticCookingComplete); + } + } +} \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs.meta b/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs.meta new file mode 100644 index 00000000..1f02ba4b --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/AutoCookCompleteView.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3417deb36e014d2d85e22d413fc446ab +timeCreated: 1649985386 \ No newline at end of file