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; }
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; }
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) )); }
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) )); }
private float RandomRangeFloat(SS14.Shared.Utility.Range <float> randomRange) { return((RandomFloat() * (randomRange.End - randomRange.Start)) + randomRange.Start); }