yyl
2026-03-04 bc1cb6da854cb2e9144f10ed55330a537ecdca16
Main/Component/UI/Effect/EffectPlayer.cs
@@ -195,7 +195,7 @@
            //防范effeid 为0
            if (effectConfig != null && effectConfig.isSpine != 0)
            {
                PlaySpineEffect(closePMA);
                PlaySpineEffect(closePMA).Forget();
            }
            return;
        }
@@ -222,11 +222,11 @@
        // 加载spine特效资源
        if (effectConfig.isSpine != 0)
        {
            PlaySpineEffect(closePMA);
            PlaySpineEffect(closePMA).Forget();
        }
        else
        {
            PlayerEffect();
            PlayerEffect().Forget();
        }
    
        
@@ -261,7 +261,7 @@
      spineAnimationState.TimeScale = speed;
   }
    protected void PlaySpineEffect(bool closePMA = false)
    protected async UniTask PlaySpineEffect(bool closePMA = false)
    {
        // 从特效预制体池获取特效
@@ -273,7 +273,7 @@
        if (spineComp.skeletonDataAsset == null || spineAnimationState == null)
        {
            //LoadAsset 已经有缓存SkeletonDataAsset
            spineComp.skeletonDataAsset = ResManager.Instance.LoadAsset<SkeletonDataAsset>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
            spineComp.skeletonDataAsset = await ResManager.Instance.LoadAssetAsync<SkeletonDataAsset>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
            //为true时会有部分特效不显示 如满级经验条;改成伽马后部分特效正常,还有部分依然要改此设置
            spineComp.MeshGenerator.settings.pmaVertexColors = !closePMA;   
            spineComp.raycastTarget = false;
@@ -288,7 +288,17 @@
            // {
            //     spineComp.material = null;
            // }
            spineComp.material = ResManager.Instance.LoadAsset<Material>("Materials", "SkeletonGraphicDefault-Straight");
            ResManager.Instance.LoadAssetAsync<Material>("Materials", "SkeletonGraphicDefault-Straight").ContinueWith(material =>
            {
                if (material != null)
                {
                    spineComp.material = material;
                }
                else
                {
                    Debug.LogError("Failed to load material for Spine effect: " + effectConfig.fxName);
                }
            }).Forget();
            spineAnimationState = spineComp.AnimationState;
            spineAnimationState.TimeScale = speedRate;
@@ -341,9 +351,9 @@
    //unity特效
    protected virtual void PlayerEffect()
    protected virtual async UniTask PlayerEffect()
    {
        var effectPrefab = ResManager.Instance.LoadAsset<GameObject>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
        var effectPrefab = await ResManager.Instance.LoadAssetAsync<GameObject>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
        if (effectPrefab == null)
        {
            Debug.LogError($"加载UI特效失败: {effectConfig.packageName}");