private static void RenderCollisionBounds(ParticleSystem system, GizmoType gizmoType) { if (system.trigger.enabled && s_VisualizeBounds) { ParticleSystem.Particle[] particles = new ParticleSystem.Particle[system.particleCount]; int num = system.GetParticles(particles); Color color = Gizmos.color; Gizmos.color = Color.green; Matrix4x4 identity = Matrix4x4.identity; if (system.main.simulationSpace == ParticleSystemSimulationSpace.Local) { identity = system.GetLocalToWorldMatrix(); } Matrix4x4 matrix = Gizmos.matrix; Gizmos.matrix = identity; for (int i = 0; i < num; i++) { ParticleSystem.Particle particle = particles[i]; Vector3 vector = particle.GetCurrentSize3D(system); Gizmos.DrawWireSphere(particle.position, (Math.Max(vector.x, Math.Max(vector.y, vector.z)) * 0.5f) * system.trigger.radiusScale); } Gizmos.color = color; Gizmos.matrix = matrix; } }