using System.Collections;
using UnityEngine;
using UnityEngine.UI;
namespace Streamingle.Contents.BossRaid
{
///
/// 페이즈 전환 컷인 연출.
/// 화면 중앙에 페이즈 이름이 슬라이드 인 → 정지 → 슬라이드 아웃.
///
public class PhaseTransition : MonoBehaviour
{
#region Fields
[Header("연출 설정")]
[SerializeField] private float slideInDuration = 0.3f;
[SerializeField] private float holdDuration = 1.0f;
[SerializeField] private float slideOutDuration = 0.3f;
[Header("비주얼")]
[SerializeField] private Color backgroundColor = new Color(0f, 0f, 0f, 0.7f);
[SerializeField] private Color textColor = new Color(1f, 0.3f, 0.3f, 1f);
[SerializeField] private int fontSize = 72;
private Canvas _canvas;
private CanvasGroup _canvasGroup;
private RectTransform _bgRect;
private Text _text;
private Coroutine _transitionCoroutine;
private Font _font;
#endregion
#region Unity Messages
private void Awake()
{
_font = BossRaidFontLoader.Load();
CreateUI();
_canvasGroup.alpha = 0f;
}
#endregion
#region Public Methods
public void Play(string phaseName)
{
if (_transitionCoroutine != null)
StopCoroutine(_transitionCoroutine);
_transitionCoroutine = StartCoroutine(TransitionCoroutine(phaseName));
}
#endregion
#region Private Methods
private void CreateUI()
{
var canvasObj = new GameObject("BossRaid_PhaseTransition");
canvasObj.transform.SetParent(transform);
_canvas = canvasObj.AddComponent