hch
2025-07-29 97e922d74b3b016f63cb436fb82f8139718b9deb
Main/Component/UI/Effect/EffectPlayer.cs
@@ -7,7 +7,7 @@
using UnityEngine.UI;
// 特效播放器,对象池管理:unity特效和spine特效都是做好的预制体
// unity特效预制体是特效师在制作的时候生成的,unity特效约定挂载设置播放时长脚本
// unity特效预制体是特效师在制作的时候生成的,unity特效必须挂载设置播放时长脚本 EffectTime
// spine特效是特效师制作的动画文件可直接加载用,制作成预制体可增加BoneFollower之类的进行逻辑处理
// 非UI特效使用,UI特效UIEffectPlayer继承EffectPlayer,后续如果逻辑冲突大则不用继承
public class EffectPlayer : MonoBehaviour
@@ -38,7 +38,7 @@
    [Header("播放完毕立即回收")]
    public bool isReleaseImmediately = true;  //界面特效一般不需要自我销毁,跟随界面或者父对象销毁就行
@@ -81,7 +81,7 @@
            effectConfig = null;
#if UNITY_EDITOR
            if (showLog)
            {
            {
                Debug.LogError("EffectPlayer effectId is not set");
                UnityEditor.Selection.activeGameObject = gameObject;
                UnityEditor.EditorGUIUtility.PingObject(gameObject);
@@ -189,7 +189,7 @@
    }
    protected virtual void PlayerEffect(bool playSpine)
    {
    {
        var effectPrefab = ResManager.Instance.LoadAsset<GameObject>("UIEffect/" + effectConfig.packageName, effectConfig.fxName);
        if (effectPrefab == null)
        {
@@ -268,8 +268,8 @@
    protected virtual void OnSpineAnimationComplete(Spine.TrackEntry trackEntry)
    {
        if (isReleaseImmediately)
        {
            spineComp.enabled = false;
        {
            spineComp.enabled = false;
            Stop();
        }
    }
@@ -423,6 +423,6 @@
            return;
        }
    }
}