public void PlayFX() { if (m_QualityFX != null && m_EffectClip != null) { m_QualityFX.Play(); m_EffectClip.Init(); } }
public static void ShowItemQualityFX(ParticleSystemUIComponent qualityFX, EffectClip effectClip, Transform parentTf, int qualityLevel) { if (qualityLevel < 5) { if (qualityFX != null) { qualityFX.gameObject.CustomSetActive(false); } else { if (parentTf.Find("QualityFX") != null) { parentTf.Find("QualityFX").gameObject.CustomSetActive(false); } } return; } if (qualityFX == null) { if (parentTf.Find("QualityFX") == null) { GameObject obj = new GameObject("QualityFX"); obj.transform.SetParent(parentTf); obj.transform.localPosition = Vector3.zero; obj.transform.localEulerAngles = Vector3.zero; obj.transform.localScale = Vector3.one; effectClip = obj.AddComponent <EffectClip>(); qualityFX = obj.AddComponent <ParticleSystemUIComponent>(); UIPanel panel = parentTf.GetComponentInParentEx <UIPanel>(); if (panel != null) { qualityFX.panel = panel; } qualityFX.sortingOrderOffset = 1; NGUITools.SetLayer(qualityFX.gameObject, parentTf.gameObject.layer); } else { qualityFX = parentTf.Find("QualityFX").GetComponent <ParticleSystemUIComponent>(); effectClip = parentTf.Find("QualityFX").GetComponent <EffectClip>(); } } qualityFX.gameObject.CustomSetActive(true); string fxName = qualityLevel == 5 ? "DJ_pingjie5_jin_FX" : "DJ_pingjie6_red_FX"; qualityFX.fx = GetQualityFx(parentTf, fxName); qualityFX.Play(); effectClip.Init(); }
void Update() { if (mFX != null) { #region 延時播放特效 if (mWaitFrame > 0) { mWaitFrame -= 1; if (mWaitFrame == 0) { FxPlayTimer(); mWaitFrame = -1; } } else { if (!mFX.main.loop && !mFX.isPlaying || mFX.isStopped || !mFX.IsAlive(true)) { ClearAllMats(); Destroy(mFX.gameObject); mFX = null; return; } } #endregion if (stopOnDiaphanous && VisibleSyncPanel != null && IsPlaying() && !mFX.isStopped && mFX.IsAlive(true)) { if (VisibleSyncPanel.alpha <= 0.001f) { Stop(); } } } else { if (playOnVisible && VisibleSyncPanel != null && !IsPlaying()) { if (VisibleSyncPanel.alpha >= 0.998f) { Play(); EffectClip clip = transform.GetComponent <EffectClip>(); if (clip != null && !clip.HasInitialized) { clip.Init(); } } } } }
public void ShowFx() { if (FxObj && Exist(m_Data)) { UIControllerHotfix.Current.CloseCallbacks.Add(() => { FxObj.GetComponent <ParticleSystemUIComponent>().Stop(); }); if (!m_Data.IsFightOut) { FxObj.GetComponent <ParticleSystemUIComponent>().Play(); EffectClip clip = FxObj.GetComponent <EffectClip>(); if (clip != null && !clip.HasInitialized) { clip.Init(); } } } }