private ParticleSystemBundle GetParticle(ParticleType p) { ParticleSystemBundle res = particleSystems[(int)p]; if (res == null) { Debug.LogWarning("Particle " + p + " not found"); } return(res); }
private void ProcessParticleRequests() { foreach (NativeQueue <ParticleRequest> particleRequestQueue in particleRequestQueues) { while (particleRequestQueue.TryDequeue(out ParticleRequest req)) { // get the particles ParticleSystemBundle bundle = GetParticle(req.type); if (bundle != null) { // play the particle system at the request's position ParticleSystem.EmitParams param = new ParticleSystem.EmitParams(); param.position = req.position; param.applyShapeToPosition = true; bundle.Emit(param); } } particleRequestQueue.Dispose(); } particleRequestQueues.Clear(); }