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; }
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); }
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); }