using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using Michsky.MUIP; using UnityEngine; using UnityEngine.Serialization; using UnityEngine.UI; namespace Ichni.StartMenu { public partial class StartPage : StartMenuPage { public RectTransform background; public ButtonManager createEmptyProjectButton; public Button editorSettingsButton; } public partial class StartPage { protected override void InitializeAnimations() { fadeIn = DOTween.Sequence(); fadeOut = DOTween.Sequence(); fadeIn.Join(canvasGroup.DOFade(1f, 0.5f)) .Join(background.DOScale(Vector3.one, 0.5f)) .SetEase(Ease.InOutQuad) .SetAutoKill(false) .OnComplete(() => { canvasGroup.interactable = true; canvasGroup.blocksRaycasts = true; }).Pause(); fadeOut.Join(canvasGroup.DOFade(0f, 0.5f)) .Join(background.DOScale(Vector3.one * 2f, 0.5f)) .SetEase(Ease.InOutQuad) .SetAutoKill(false) .OnPlay(() => { canvasGroup.interactable = false; canvasGroup.blocksRaycasts = false; }) .Pause(); } protected override void InitializeUI() { createEmptyProjectButton.onClick.AddListener(GoToNewProjectPage); editorSettingsButton.onClick.AddListener(GoToEditorSettingsPage); } private void GoToNewProjectPage() { fadeOut.onComplete = () => { StartMenuManager.instance.createEmptyProjectPage.fadeIn.Restart(); }; fadeOut.Restart(); } private void GoToEditorSettingsPage() { fadeOut.onComplete = () => { StartMenuManager.instance.editorSettingsPage.fadeIn.Restart(); }; fadeOut.Restart(); } } }