public GameObject PlayEffect(E_EFFECT effect, Vector3 pos, Quaternion quat, bool isInstance = true, float DestroyTime = 2.0f, Transform tr = null) { GameObject effectObject = PoolingManager.Instance.PopFromPool(effect.ToString(), pos, quat); if (effectObject == null) { return(null); } EffectObject effectObj = Common.GetOrAddComponent <EffectObject>(effectObject); if (effectObj != null) { if (isInstance) { effectObj.DestroyEffect(DestroyTime); } if (tr != null) { effectObj.AttachToTransform(tr, Vector3.zero); } } return(effectObject); }