add AutoCookCompleteView.cs

This commit is contained in:
kimura 2022-04-15 11:21:30 +09:00
parent cd11ff9b33
commit 874baf5e03
2 changed files with 49 additions and 0 deletions

View File

@ -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<AutoCookData>(Const.AutoCookDataSheet);
var autoCookData = autoCookDataList.First(data => data.level == gameData.AutoCookLevel);
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
{
LocalCacheManager.Load<Action>(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);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3417deb36e014d2d85e22d413fc446ab
timeCreated: 1649985386