private void moreHitDelegate(EffectBounce eb, GameObject target) { if (this != null) { eb.DestoryDelegate -= moreHitDelegate; mCurMonsters = GetTargetByCondition(CheckHitCondition, mCurSkillNode.aoe_wide, target.transform); mCurMonsters.Remove(mCurMonsters.Find(a => a.gameObject == target)); GenerateBounce(1); } }
private void GenerateBounce(int count) { for (int i = 0; i < mCurMonsters.Count; i++) { if (prefab != null) { GameObject bouncePrefab = NGUITools.AddChild(transform.parent.gameObject, prefab); bouncePrefab.transform.position = pos.transform.position; EffectBounce eb = bouncePrefab.AddMissingComponent <EffectBounce>(); if (count == 0) { eb.DestoryDelegate += moreHitDelegate; } eb.count = count; eb.Init(mCurSkillNode, mCurMonsters[i], attackerTrans, null); eb.distance = mCurSkillNode.aoe_wide; } } }