public void CheckCollisionLoop(PlayerExplosion explosion) { enemyMissiles = EnemyMissilePool.Instance.ObjectList; for (int i = 0; i < enemyMissiles.Count; i++) { EnemyMissile missile = enemyMissiles[i]; if (CheckCollision(explosion.gameObject, missile.gameObject, 1.0f)) { missile.ExplodeAndReturnToPool(); } } }
void ParticleLimits() { ParticleSystem[] PartExpl = new ParticleSystem[EnemyExplosions.Length - 1]; ParticleSystem[] PartExpl2 = new ParticleSystem[EnemyExplosions.Length - 1]; ParticleSystem[] PartExpl3 = new ParticleSystem[8]; ParticleSystem.MainModule[] MainExpl = new ParticleSystem.MainModule[EnemyExplosions.Length - 1]; ParticleSystem.MainModule[] MainExpl2 = new ParticleSystem.MainModule[EnemyExplosions.Length - 1]; ParticleSystem.MainModule[] MainExpl3 = new ParticleSystem.MainModule[8]; //0Player;1Missile;2RaygunA;3RaygunB;5Asteroid;4EnemyMissile for (int i = 1; i < PartExpl.Length + 1; i++) { PartExpl[i - 1] = EnemyExplosions[i].GetComponent <ParticleSystem>(); PartExpl2[i - 1] = EnemyExplosions[i].transform.GetChild(0).GetComponent <ParticleSystem>(); } for (int i = 0; i < MainExpl.Length; i++) { MainExpl[i] = PartExpl[i].main; MainExpl2[i] = PartExpl2[i].main; } PartExpl3[0] = PlayerExplosion.GetComponent <ParticleSystem>(); PartExpl3[1] = MissileExplosion.GetComponent <ParticleSystem>(); PartExpl3[2] = Players1Script.RaygunPrefab.transform.GetChild(0).GetComponent <ParticleSystem>(); PartExpl3[3] = Players1Script.RaygunPrefab.transform.GetChild(0).transform.GetChild(0).GetComponent <ParticleSystem>(); PartExpl3[4] = EnemyMissileExplosion.GetComponent <ParticleSystem>(); PartExpl3[5] = EnemyExplosions[0].GetComponent <ParticleSystem>(); PartExpl3[6] = Players2Script.RaygunPrefab.transform.GetChild(0).GetComponent <ParticleSystem>(); PartExpl3[7] = Players2Script.RaygunPrefab.transform.GetChild(0).transform.GetChild(0).GetComponent <ParticleSystem>(); MainExpl3[0] = PartExpl3[0].main; MainExpl3[1] = PartExpl3[1].main; MainExpl3[2] = PartExpl3[2].main; MainExpl3[3] = PartExpl3[3].main; MainExpl3[4] = PartExpl3[4].main; MainExpl3[5] = PartExpl3[5].main; MainExpl3[6] = PartExpl3[6].main; MainExpl3[7] = PartExpl3[7].main; switch (GlobalSettings.GraphicsQuality) { case 0: for (int i = 0; i < PartExpl.Length; i++) { MainExpl[i].maxParticles = 400; MainExpl2[i].maxParticles = 40; } for (int i = 0; i < 4; i++) { MainExpl3[i].maxParticles = 400; } MainExpl3[4].maxParticles = 40; MainExpl3[5].maxParticles = 40; MainExpl3[6].maxParticles = 400; MainExpl3[7].maxParticles = 40; break; case 1: for (int i = 0; i < PartExpl.Length; i++) { MainExpl[i].maxParticles = 100; MainExpl2[i].maxParticles = 15; } for (int i = 0; i < 5; i++) { MainExpl3[i].maxParticles = 100; } MainExpl3[5].maxParticles = 10; MainExpl3[6].maxParticles = 100; MainExpl3[7].maxParticles = 10; break; case 2: for (int i = 0; i < MainExpl.Length; i++) { MainExpl[i].maxParticles = 10; MainExpl2[i].maxParticles = 1; } for (int i = 0; i < 5; i++) { MainExpl3[i].maxParticles = 30; } MainExpl3[5].maxParticles = 5; MainExpl3[6].maxParticles = 30; MainExpl3[7].maxParticles = 5; break; } }