コード例 #1
0
    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();
    }
コード例 #2
0
    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]);
        }
    }