// -- 아이템 획득 이펙트 -- // public void setGetItemEffect(GetItemEffect eff) { eff.isEnabled = false; eff.transform.parent = GameManager.me.assetPool; _getItemEffectList.Remove(eff); _getItemEffectPool.Push(eff); }
public IEnumerator preLoad() { int i = 0; yield return(null); for (i = 0; i < 15; ++i) { tk2dAnimatedSprite spr; if (_tk2dAnimatedSpritePool.Count > 0) { spr = _tk2dAnimatedSpritePool.Pop(); } else { spr = ((tk2dAnimatedSprite)Instantiate(animatedSprite)); } spr.StopAndResetFrame(); spr.transform.parent = GameManager.me.assetPool; spr.gameObject.SetActive(false); _tk2dAnimatedSpritePool.Push(spr); } // Debug.Log("tk2dAnimatedSprite Complete"); yield return(null); for (i = 0; i < 25; ++i) { WordEffect we = (WordEffect)Instantiate(wordEffect); we.gameObject.SetActive(false); we.isEnabled = false; we.transform.parent = GameManager.me.assetPool; _getWordEffectPool.Push(we); } // Debug.Log("WordEffect Complete"); yield return(null); for (i = 0; i < 20; ++i) { GetItemEffect ge = (GetItemEffect)Instantiate(getItemEffect); ge.gameObject.SetActive(false); ge.isEnabled = false; ge.transform.parent = GameManager.me.assetPool; _getItemEffectPool.Push(ge); } // Debug.Log("GetItemEffect Complete"); yield return(null); }
void OnDestroy() { //Debug.Log("OnDestroy : EffectManager" ); foreach (tk2dAnimatedSprite ani in _tk2dAnimatedSprites) { Destroy(ani); } _tk2dAnimatedSprites.Clear(); _tk2dAnimatedSprites = null; while (_tk2dAnimatedSpritePool.Count > 0) { Destroy(_tk2dAnimatedSpritePool.Pop().gameObject); } _tk2dAnimatedSpritePool = null; foreach (KeyValuePair <string, Stack <ParticleEffect> > kv in _particleEffectPool) { while (kv.Value.Count > 0) { ParticleEffect pe = kv.Value.Pop(); if (pe != null) { Destroy(pe.gameObject); } } } int count = _particleEffectList.Count; for (int i = count - 1; i >= 0; --i) { if (_particleEffectList[i] != null) { _particleEffectList[i].destroyAsset(); if (_particleEffectList[i] != null && _particleEffectList[i].gameObject != null) { Destroy(_particleEffectList[i].gameObject); } } } _particleEffectList.Clear(); while (_attachedEffectPool.Count > 0) { Destroy(_attachedEffectPool.Pop().gameObject); } _attachedEffectPool = null; while (_getItemEffectPool.Count > 0) { GetItemEffect ge = _getItemEffectPool.Pop(); if (ge != null && ge.gameObject != null) { Destroy(_getItemEffectPool.Pop().gameObject); } } while (_uiGetItemEffectPool.Count > 0) { try { Destroy(_uiGetItemEffectPool.Pop().gameObject); } catch (Exception e) { } } _uiGetItemEffectPool.Clear(); while (_getWordEffectPool.Count > 0) { Destroy(_getWordEffectPool.Pop()); } _getWordEffectPool = null; foreach (KeyValuePair <string, Stack <ElectricEffect> > kv in _electricEffectPool) { while (kv.Value.Count > 0) { ElectricEffect e = kv.Value.Pop(); if (e != null) { Destroy(e); } } } _electricEffectPool = null; while (_cutSceneEffectPool.Count > 0) { Destroy(_cutSceneEffectPool.Pop()); } _cutSceneEffectPool = null; foreach (AttachedEffect ani in _attachedEffectList) { Destroy(ani.gameObject); } _attachedEffectList.Clear(); _attachedEffectList = null; foreach (GetItemEffect ani in _getItemEffectList) { Destroy(ani.gameObject); } _getItemEffectList.Clear(); _getItemEffectList = null; foreach (WordEffect ani in _getWordEffectList) { if (ani != null) { Destroy(ani.gameObject); } } _getWordEffectList.Clear(); _getWordEffectList = null; foreach (ElectricEffect ani in _electricEffectList) { if (ani != null) { Destroy(ani.gameObject); } } _electricEffectList.Clear(); _electricEffectList = null; }