private static void AddParticle(Particle p, bool ceckDuplicates) { //if (!Zones.ContainsKey(p.Zone)) // Zones.Add(p.Zone, new List<Particle>()); //Zones[p.Zone].Add(p); List<Particle> value; if (!Zones.TryGetValue(p.Zone, out value)) { value = new List<Particle>(); Zones.Add(p.Zone, value); } if (ceckDuplicates) if(value.Contains(p)) return; value.Add(p); }
Particle Clone() { if (this.direction != Vector3d.Zero) { this.direction.Unitize(); Particle clone = new Particle(this.Position, (this.direction * step_size)); this.direction = Vector3d.Zero; return clone; } else return null; }
private static void AddParticle(Particle p) { AddParticle(p, false); }