示例#1
0
    void BlockDestroyed()
    {
        // Manager ------------------
        blocksManager.BlockDestroyed();
        gameManager.score += points;

        // Random PowerUp
        if (Random.Range(0, 5) == 0 && FindObjectOfType <PowerUp>() == null)
        {
            int    randomType = (int)Random.Range((int)PowerUpType.None + 1, (int)PowerUpType.Max);
            Object powerUp    = Resources.Load(System.Enum.GetName(typeof(PowerUpType), (PowerUpType)randomType));
            Instantiate(powerUp, new Vector3(transform.position.x, 0.5f, transform.position.z), Quaternion.Euler(0.0f, 0.0f, 90.0f));
        }

        // Destroy Particle -----------------------
        GameObject             particle = Instantiate(blocksManager.destroyParticle, transform.position, blocksManager.destroyParticle.transform.rotation);
        ParticleSystem         ps       = particle.GetComponent <ParticleSystem>();
        ParticleSystemRenderer psRender = particle.GetComponent <ParticleSystemRenderer>();

        psRender.trailMaterial = meshRenderer.material;
        ps.Play();
        Destroy(particle, 3.1f);
        Destroy(gameObject);
    }