public void SetQuality(EffectRuntimeQuality quality) { if (m_quality == quality) { return; } for (int i = 0; i < optionals.Length; i++) { optionals[i].SetActive(quality == EffectRuntimeQuality.High); } }
private void StartInternal(System.Action <EffectObject> onLoad, EffectRuntimeQuality quality) { onLoadCallback = onLoad; applyOnRenderersCallback = null; runtimeQuality = quality; if (qualitySwitcher != null) { qualitySwitcher.SetQuality(runtimeQuality); } ResetState(); UpdatePosition(); UpdateScale(); if (config.InitFollowRotation) { UpdateRotation(); } }
/// <summary> /// 在指定位置播放特效 /// </summary> /// <param name="id"></param> /// <param name="position"></param> /// <param name="rotation"></param> /// <returns></returns> public static EffectObject Play(int id, Vector3 position, Quaternion rotation, System.Action <EffectObject> onLoad, EffectRuntimeQuality quality = EffectRuntimeQuality.High) { EffectObject effectObj = FetchEffectObject(id); if (effectObj == null) { return(null); } if (updating) { pending.Add(effectObj); } else { activeEffects.AddLast(effectObj); } effectObj.Start(position, rotation, onLoad, quality); return(effectObj); }
public static EffectObject Play(int id, Transform target, EffectRuntimeQuality quality = EffectRuntimeQuality.High) { return(Play(id, target, null, quality)); }
/// <summary> /// 在指定Transform上播放特效 /// </summary> /// <param name="id"></param> /// <param name="target"></param> /// <returns></returns> public static EffectObject Play(int id, Transform target, System.Action <EffectObject> onLoad, EffectRuntimeQuality quality = EffectRuntimeQuality.High) { EffectObject effectObj = FetchEffectObject(id); if (effectObj == null) { return(null); } if (updating) { pending.Add(effectObj); } else { activeEffects.AddLast(effectObj); } effectObj.Start(target, onLoad, quality); return(effectObj); }
public static EffectObject Play(int id, Vector3 position, Quaternion rotation, EffectRuntimeQuality quality = EffectRuntimeQuality.High) { return(Play(id, position, rotation, null, quality)); }
public void Start(Vector3 position, Quaternion rotation, System.Action <EffectObject> onLoad, EffectRuntimeQuality quality) { target.Clear(); target.SetPosition(position, rotation); StartInternal(onLoad, quality); }
public void Start(Transform trans, System.Action <EffectObject> onLoad, EffectRuntimeQuality quality) { target.Clear(); target.SetTransform(trans, config.BindPoint); StartInternal(onLoad, quality); }