public void Die() { TrashMan.despawn(gameObject); AsteroidKillInfo killInfo = new AsteroidKillInfo(); killInfo.asteroid = gameObject; killInfo.scale = asteroidChildController.CurrentScale; MessageKit <AsteroidKillInfo> .post(MessageIds.ASTEROID_KILLED, killInfo); var particles = TrashMan.spawn(asteroidExplosionPrefab, transform.position).GetComponent <ParticleSystem>(); particles.Clear(); particles.Play(); }
private void AsteroidKilled(AsteroidKillInfo killInfo) { int i; for (i = 0; i < asteroidScaleProgression.Length; i++) { if (killInfo.scale > asteroidScaleProgression[i]) { break; } } if (i < asteroidScaleProgression.Length) { SpawnAsteroidPrefab(killInfo.asteroid.transform.position, asteroidScaleProgression[i], asteroidThrustProgression[i], false); SpawnAsteroidPrefab(killInfo.asteroid.transform.position, asteroidScaleProgression[i], asteroidThrustProgression[i], false); } if (i - 1 < asteroidScoreProgression.Length) { SpawnTarget(killInfo.asteroid.transform.position, asteroidScoreProgression[i - 1]); } }