void Start() { BattleFactory.AddUnitToLayer(gameObject, layer); lifeCycleSec = ParticleHelper.GetlifeCycleSec(transform); if (lifeCycleSec < 0) { isLoop = true; } }
// 播放粒子效果 IEnumerator PlayEffect(GameObject go) { go = go.GetComponent <FormationDragItemUI> ().attachSlotUI.gameObject; GameObject prefab = Resources.Load(DUST_PARTICLE_PATH) as GameObject; GameObject instanceObj = NGUITools.AddChild(go,prefab); instanceObj.transform.localScale = AppConfig.UNITY_SCALE_UI; battlePanel.particleList.Add(instanceObj); float leftTime = ParticleHelper.GetlifeCycleSec(instanceObj.transform); yield return(new WaitForSeconds(leftTime)); if (instanceObj != null) { battlePanel.particleList.Remove(instanceObj); DestroyImmediate(instanceObj); } }
// 播放粒子效果 IEnumerator PlayEffect(string name, Vector3 v) { string DUST_PARTICLE_PATH = "profab/ui/effect/" + name; GameObject parent = this.gameObject; GameObject instanceObj = ResourceHelper.Load(DUST_PARTICLE_PATH); Vector3 ui_world_pos = transform.TransformPoint(v); instanceObj.transform.localPosition = ui_world_pos; instanceObj.transform.parent = transform; // 添加粒子对象到UI管理容器 UIParticleManager.instance.AddParticle(instanceObj); float leftTime = ParticleHelper.GetlifeCycleSec(instanceObj.transform); yield return(new WaitForSeconds(leftTime)); if (instanceObj != null) { DestroyImmediate(instanceObj); } }