using System;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class ClearPanelController : PanelController, IPointerClickHandler
{
    [SerializeField] private CanvasGroup clearPanel;
    [SerializeField] private Image clearPanelArmImage;
    [SerializeField] private Image clearTextImage;
    [SerializeField] private Image clearPanelBGImage;
    
    public Action onCompleted;

    public void Show(Action onCompleted)
    {
        base.Show();
        this.onCompleted = onCompleted;
        Init();
    }

    private void Init()
    {
        clearPanelBGImage.DOFade(0, 0);
        clearTextImage.rectTransform.localScale = Vector3.zero;
        clearTextImage.DOFade(0, 0);
        clearPanel.DOFade(0, 0);
        ClearAnimation();
    }
    
    private void ClearAnimation()
    {
        Sequence seq = DOTween.Sequence();
        seq.Append(clearPanelBGImage.DOFade(0.98f, 0.5f))
            .Append(clearPanel.DOFade(1, 0.5f))
            .Append(clearPanelArmImage.rectTransform.DORotate(new Vector3(0, 0, 15), 0.3f))
            .Append(clearPanelArmImage.rectTransform.DORotate(Vector3.zero, 0.3f))
            .Join(clearTextImage.rectTransform.DOScale(1f, 0.5f).SetEase(Ease.OutBack))
            .Join(clearTextImage.DOFade(1, 0.5f));
    }

    public void OnPointerClick(PointerEventData eventData)
    {
        onCompleted?.Invoke();
        Hide();
    }
}