Ejemplo n.º 1
0
    private void S()
    {
        Debug.Log("S");

        //Destroy(GetComponent<FlexParticleController>());
        //Destroy(GetComponent<FlexFluidRenderer>());

        FlexActor flexActor = GetComponent <FlexActor>();

        flexActor.container = driedContainer;

        Destroy(this);

        /*
         * int[] particles = flexActor.container.AllocParticles(flexActor.container.maxParticles);
         *
         * Debug.LogFormat("Max: {0} - Found: {1}", flexActor.container.maxParticles, particles.Length);
         *
         * flexActor.container.FreeParticles(particles);
         * flexActor.asset.ClearFixedParticles();
         *
         * for (int i = 0; i < particles.Length; i++)
         * {
         *
         * }
         */

        //NVIDIA.Flex.FlexExt.FreeParticles((FlexExt.Container)flexActor.container, flexActor.container.maxParticles, flexActor.asset.maxParticles);

        //Destroy(GetComponent<FlexActor>());

        //GetComponent<ParticleSystemRenderer>().enabled = true;
    }
Ejemplo n.º 2
0
    private void DestroyOneByOne()
    {
        int alive = particleSystem.GetParticles(particles);

        var main = particleSystem.main;

        main.maxParticles = 0;

        FlexActor flexActor = GetComponent <FlexActor>();

        if (main.maxParticles <= 0)
        {
            CancelInvoke();
        }

        particleSystem.SetParticles(particles, alive);
    }
Ejemplo n.º 3
0
    IEnumerator DestroyParticles()
    {
        yield return(new WaitForSeconds(5f));

        ParticleSystem ps = GetComponent <ParticleSystem>();

        ParticleSystem.Particle[] particles = new ParticleSystem.Particle[0];

        Debug.Log(ps.GetParticles(particles));

        FlexActor flexActor = GetComponent <FlexActor>();

        flexActor.enabled = false;

        FlexParticleController pc = GetComponent <FlexParticleController>();

        pc.enabled = false;

        ps.Clear();

        Debug.Log(ps.GetParticles(particles));

        yield return(null);
    }