using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace SuperPolarity { class Particle { public Texture2D Texture { get; set; } public Vector2 Position { get; set; } public Vector2 Velocity { get; set; } public float Angle { get; set; } public float AngularVelocity { get; set; } public Color Color { get; set; } public float Size { get; set; } public int TTL { get; set; } public Particle(Texture2D texture, Vector2 position, Vector2 velocity, float angle, float angularVelocity, Color color, float size, int ttl) { Texture = texture; Position = position; Velocity = velocity; Angle = angle; AngularVelocity = angularVelocity; Color = color; Size = size; TTL = ttl; } public void Update() { TTL--; Position += Velocity; Angle += AngularVelocity; } public void Draw(SpriteBatch spriteBatch) { Rectangle sourceRectangle = new Rectangle(0, 0, Texture.Width, Texture.Height); Vector2 origin = new Vector2(Texture.Width / 2, Texture.Height / 2); spriteBatch.Draw(Texture, Position, sourceRectangle, Color, Angle, origin, Size, SpriteEffects.None, 0f); } } }