public ParticleSystem(Sprite particleSprite, Vector2f position)
 {
     MaximumParticleCount = 200;
     //TODO start with sane defaults
     Acceleration = new Vector2f();
     AccelerationVariance = 0f;
     ColorRange = new SS14.Shared.Utility.Range<Vector4f>(Vector4f.UnitX * 255, Vector4f.Zero);
     ColorVariance = 0f;
     EmissionOffset = new Vector2f();
     EmissionRadiusRange = new SS14.Shared.Utility.Range<float>(0f, 0f);
     Emit = false;
     EmitRate = 1;
     EmitterPosition = position;
     Lifetime = 1.0f;
     LifetimeVariance = 0f;
     ParticleSprite = particleSprite;
     RadialAcceleration = 0f;
     RadialAccelerationVariance = 0f;
     RadialVelocity = 0f;
     RadialVelocityVariance = 0f;
     SizeRange = new SS14.Shared.Utility.Range<float>(1, 0);
     SizeVariance = 0.1f;
     SpinVelocity = new SS14.Shared.Utility.Range<float>(0f, 0f);
     SpinVelocityVariance = 0f;
     TangentialAcceleration = 0;
     TangentialAccelerationVariance = 0;
     TangentialVelocity = 0;
     TangentialVelocityVariance = 0;
     Velocity = new Vector2f();
     VelocityVariance = 0;
 }
Exemple #2
0
 public ParticleSystem(Sprite particleSprite, Vector2D position)
 {
     MaximumParticleCount = 200;
     //TODO start with sane defaults
     Acceleration         = Vector2D.Zero;
     AccelerationVariance = 0f;
     ColorRange           = new SS14.Shared.Utility.Range <Vector4D>(Vector4D.UnitX * 255, Vector4D.Zero);
     ColorVariance        = 0f;
     EmissionOffset       = Vector2D.Zero;
     EmissionRadiusRange  = new SS14.Shared.Utility.Range <float>(0f, 0f);
     Emit                           = false;
     EmitRate                       = 1;
     EmitterPosition                = position;
     Lifetime                       = 1.0f;
     LifetimeVariance               = 0f;
     ParticleSprite                 = particleSprite;
     RadialAcceleration             = 0f;
     RadialAccelerationVariance     = 0f;
     RadialVelocity                 = 0f;
     RadialVelocityVariance         = 0f;
     SizeRange                      = new SS14.Shared.Utility.Range <float>(1, 0);
     SizeVariance                   = 0.1f;
     SpinVelocity                   = new SS14.Shared.Utility.Range <float>(0f, 0f);
     SpinVelocityVariance           = 0f;
     TangentialAcceleration         = 0;
     TangentialAccelerationVariance = 0;
     TangentialVelocity             = 0;
     TangentialVelocityVariance     = 0;
     Velocity                       = Vector2D.Zero;
     VelocityVariance               = 0;
 }
Exemple #3
0
 private Vector2D RandomRangeVector2D(SS14.Shared.Utility.Range <Vector2D> randomRange)
 {
     return(new Vector2D(
                RandomRangeFloat(randomRange.Start.X, randomRange.End.X),
                RandomRangeFloat(randomRange.Start.Y, randomRange.End.Y)
                ));
 }
 private Vector3 RandomRangeVector3(SS14.Shared.Utility.Range <Vector3> randomRange)
 {
     return(new Vector3(
                RandomRangeFloat(randomRange.Start.X, randomRange.End.X),
                RandomRangeFloat(randomRange.Start.Y, randomRange.End.Y),
                RandomRangeFloat(randomRange.Start.Z, randomRange.End.Z)
                ));
 }
Exemple #5
0
 private Vector4f RandomRangeVector4(SS14.Shared.Utility.Range <Vector4f> randomRange)
 {
     return(new Vector4f(
                RandomRangeFloat(randomRange.Start.X, randomRange.End.X),
                RandomRangeFloat(randomRange.Start.Y, randomRange.End.Y),
                RandomRangeFloat(randomRange.Start.Z, randomRange.End.Z),
                RandomRangeFloat(randomRange.Start.W, randomRange.End.W)
                ));
 }
Exemple #6
0
 private float RandomRangeFloat(SS14.Shared.Utility.Range <float> randomRange)
 {
     return((RandomFloat() * (randomRange.End - randomRange.Start)) + randomRange.Start);
 }