using System;
using DG.Tweening;
using UnityEngine;

[CreateAssetMenu]
public class EnemyAppearBehaviour : BaseBulletBehaviour
{
    [SerializeField] private float zPos = 50f;
    [SerializeField] private float moveInDuration = 0.5f;
    [SerializeField] private float scaleUpDuration = 0.3f;
    [SerializeField] private float scaleUpDelay = 0.2f;
    [SerializeField] private float moveOutPos = -15f;
    [SerializeField] private float moveOutDuration = 2f;

    public override void DoBehaviour(Transform bullet, float size, Vector3 pos)
    {
        bullet.localScale = Vector3.zero;
        bullet.localPosition = new Vector3(pos.x, pos.y, zPos);
        DOTween.Sequence()
            //.Append(bullet.DOMove(pos, moveInDuration).SetEase(Ease.OutQuint))
            .Insert(scaleUpDelay, bullet.DORotate(new Vector3(0,0,45), moveInDuration/2f))
            .Insert(scaleUpDelay + moveInDuration/2f, bullet.DORotate(Vector3.zero, moveInDuration/2f))
            .Insert(scaleUpDelay, bullet.DOScale(Vector3.one * size, scaleUpDuration).SetEase(Ease.OutQuint));
    }
}