using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.Events;
using static UnityEngine.ParticleSystem;
/// 
/// 最上层UI
/// 
public partial class TopmostLayerUI : UIBaseClass
{
    /// 
    /// 提示对象生成点
    /// 
    public Transform tipsObjSpawnPos;
    /// 
    /// 设置提示内容
    /// 
    /// 提示
    public void SetTips(string tips)
    {
        TipsObj tipsObj = CachePoolManager.Instance.Take(YooAssetManager.Instance.LoadAssetSync(PackagesName.GameData, "TipsObj")).GetComponent();
        tipsObj.transform.SetParent(tipsObjSpawnPos);
        tipsObj.transform.localScale = Vector3.one;
        tipsObj.transform.position = Vector3.zero;
        tipsObj.SetTips(tips);
        RectTransform tipsRectTransform = tipsObj.transform as RectTransform;
        tipsRectTransform.anchoredPosition3D = Vector3.zero;
        tipsRectTransform.offsetMax = Vector2.zero;
        tipsRectTransform.offsetMin = Vector2.zero;
        tipsRectTransform.sizeDelta = new Vector2(tipsRectTransform.sizeDelta.x, 300);
    }
    /// 
    /// 爆材料
    /// 
    /// 起点
    /// 终点
    /// 爆完后做什么
    /// 爆多少个
    /// 是否有拖尾
    /// 生成音效次数
    /// 到达音效次数
    public void FlyStuff(E_StuffType e_StuffType, Transform strtPos, Transform endPos, UnityAction callBack = null, float number = 50, bool isTrails = false,int generateAudioNumber=5,int arriveAudioNumber=5)
    {
        Transform recordingStartPoint = strtPos;
        Transform recordingEndPoint = endPos;
        Color color = Color.yellow;
        YooAssetManager.Instance.LoadAssetAsync(PackagesName.GameData, "FlyStuff", (obj) =>
        {
            StuffEffects stuffEffects = CachePoolManager.Instance.Take(obj).GetComponent();
            stuffEffects.transform.SetParent(this.transform);
            (stuffEffects.transform.transform as RectTransform).anchoredPosition3D = Vector3.zero;
            stuffEffects.transform.localScale = Vector3.one;
            stuffEffects.transform.position = recordingStartPoint.position;
            stuffEffects.Init(e_StuffType, recordingEndPoint, callBack, number, isTrails, generateAudioNumber, arriveAudioNumber);
        });
    }
    /// 
    /// 爆彩带
    /// 
    /// 左
    /// 右
    public void ColouredRibbon(Transform leftPoint, Transform rightPoint)
    {
        YooAssetManager.Instance.LoadAssetAsync(PackagesName.GameData, "fx_confetti", (obj) =>
        {
            GameObject fx_confettiObjOne = CachePoolManager.Instance.Take(obj);
            fx_confettiObjOne.transform.SetParent(leftPoint);
            fx_confettiObjOne.transform.localPosition = Vector3.zero;
            fx_confettiObjOne.transform.localScale = Vector3.one * 800;
            fx_confettiObjOne.transform.localEulerAngles = new Vector3(-90,0,0);
            GameObject fx_confettiObjTwo = CachePoolManager.Instance.Take(obj);
            fx_confettiObjTwo.transform.SetParent(rightPoint);
            fx_confettiObjTwo.transform.localPosition = Vector3.zero;
            fx_confettiObjTwo.transform.localScale = Vector3.one * 800;
            fx_confettiObjTwo.transform.localEulerAngles = new Vector3(-90, 0, 0);
        });
    }
}