/// <summary>
        /// Generate a particle with given particletype and startPosition
        /// </summary>
        public virtual Particle CreateParticle(IParticleData particleData, Vector2 startPosition)
        {
            var particle = new Particle(++_particleId, startPosition, particleData);

            particle.BatchId = RNG.RandomInt(0, spaceConfig.BatchCount);
            return(particle);
        }
 public Particle(int id, Vector2 position, IParticleData particleData)
 {
     Id                = id;
     Position          = position;
     ScheduledPosition = position;
     ParticleData      = particleData;
 }
Example #3
0
        public override Particle CreateParticle(IParticleData particleData, Vector2 startPosition)
        {
            var gravityConfig = (GravityConfig)spaceConfig;
            var particle      = base.CreateParticle(particleData, startPosition);

            particle.Velocity          = new Vector2(RNG.RandomFloat(gravityConfig.MinimumInitialVelocity, gravityConfig.MaximumInitialVelocity), RNG.RandomFloat(gravityConfig.MinimumInitialVelocity, gravityConfig.MaximumInitialVelocity));
            particle.ScheduledVelocity = particle.Velocity;

            return(particle);
        }