Files
ichni_Creator_Studio/Assets/Scripts/DynamicUI/MovableWindow.cs
2025-08-31 15:27:02 +08:00

36 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Ichni.Editor
{
public abstract class MovableWindow : MonoBehaviour
{
public RectTransform windowRect;
public Button closeButton;
public TMP_Text title;
public UnityAction onCloseWindow;
public UnityAction onQuit;
protected void InitializeWindow(string titleText, UnityAction closeAction = null)
{
title.text = titleText;
onCloseWindow = closeAction;
closeButton.onClick.AddListener(() =>
{
onCloseWindow?.Invoke();
onQuit?.Invoke();
this.transform.DOScale(Vector3.zero, 0.15f).SetEase(Ease.InCirc).OnComplete(() =>
{
Destroy(gameObject);
});
});
StartCoroutine(WindowAnim.ShowPanelOnScale(gameObject));
}
}
}