public void Play() { Vector3 viewPos = Camera.main.WorldToViewportPoint(m_effect.m_initPos); Vector3 screenPos = UIManager.Instance.m_uiCamera.GetComponent <Camera>().ViewportToWorldPoint(viewPos); m_goScoreEffect = NGUITools.AddChild(m_effect.m_uiMatch.gameObject, m_effect.m_scoretoboardEffect); NGUITools.SetLayer(m_goScoreEffect, m_goScoreEffect.layer); m_goScoreEffect.transform.position = screenPos; Vector3 pos = m_goScoreEffect.transform.localPosition; pos.x = Mathf.FloorToInt(pos.x); pos.y = Mathf.FloorToInt(pos.y); pos.z = 0.0f; m_goScoreEffect.transform.localPosition = pos; m_goScoreEffect.GetComponent <Renderer>().material.renderQueue = RenderQueue.ParticleOnGui; Renderer[] renderers = m_goScoreEffect.transform.GetComponentsInChildren <Renderer>(); foreach (Renderer renderer in renderers) { renderer.material.renderQueue = RenderQueue.ParticleOnGui; } ParticleSystem ps = m_goScoreEffect.GetComponent <ParticleSystem>(); UEffectSelfDestroy us = m_goScoreEffect.AddComponent <UEffectSelfDestroy>(); ps.Play(); _InitToExploded(); }
void _OnArriveEnd() { ParticleSystem ps = m_goScoreEffect.GetComponent <ParticleSystem>(); ps.Stop(); GameObject goScoreEffect = NGUITools.AddChild(m_effect.m_uiMatch.gameObject, m_effect.m_scoretoboardEffect1); UEffectSelfDestroy destroy = goScoreEffect.AddComponent <UEffectSelfDestroy>(); destroy.onFinish = _OnFinish; goScoreEffect.transform.localPosition = ps.transform.localPosition; ps = goScoreEffect.GetComponent <ParticleSystem>(); NGUITools.SetLayer(goScoreEffect, goScoreEffect.layer); goScoreEffect.GetComponent <Renderer>().material.renderQueue = RenderQueue.ParticleOnGui; ps.Play(); }