void Boom() { if (!Input.GetButton("Fire2")) { return; } if (isBoomTime) { return; } if (boom == 0) { return; } boom--; isBoomTime = true; gameManager.UpdateBoomIcon(boom); //Effect Visible boomEffect.SetActive(true); Invoke("OffBoomEffect", 4f); //Remove Enermy //FindGameGobject s WithTag => 게임 내에 태그를 가진 오브젝트 들을불러오는 함수 //GameObject[] enermyArr = GameObject.FindGameObjectsWithTag("Enermy"); // find 계열 함수는 성능하락을 유발 GameObject[] enemiesL = objectManager.GetPool("EnemyL"); GameObject[] enemiesM = objectManager.GetPool("EnemyM"); GameObject[] enemiesS = objectManager.GetPool("EnemyS"); for (int i = 0; i < enemiesL.Length; i++) { /*Enermy eneLogic = enermyArr[i].GetComponent<Enermy>(); * eneLogic.OnHit(1000);*/ if (enemiesL[i].activeSelf) { Enermy eneLogic = enemiesL[i].GetComponent <Enermy>(); eneLogic.OnHit(1000); } } for (int i = 0; i < enemiesM.Length; i++) { if (enemiesM[i].activeSelf) { Enermy eneLogic = enemiesM[i].GetComponent <Enermy>(); eneLogic.OnHit(1000); } //Enermy eneLogic = enermyArr[i].GetComponent<Enermy>(); //eneLogic.OnHit(1000); } for (int i = 0; i < enemiesS.Length; i++) { if (enemiesS[i].activeSelf) { Enermy eneLogic = enemiesS[i].GetComponent <Enermy>(); eneLogic.OnHit(1000); } //Enermy eneLogic = enermyArr[i].GetComponent<Enermy>(); //eneLogic.OnHit(1000); } //Remove Bullet //GameObject[] bullets = GameObject.FindGameObjectsWithTag("EnermyBullet"); GameObject[] bulletsA = objectManager.GetPool("BulletEnemyA"); GameObject[] bulletsB = objectManager.GetPool("BulletEnemyB"); for (int i = 0; i < bulletsA.Length; i++) { if (bulletsA[i].activeSelf) { bulletsA[i].SetActive(false); } //Destroy(bullets[i]); } for (int i = 0; i < bulletsB.Length; i++) { if (bulletsB[i].activeSelf) { bulletsB[i].SetActive(false); } //Destroy(bullets[i]); } }