]> git.r.bdr.sh - rbdr/super-polarity/blobdiff - SuperPolarityMac/Particle.cs
Removes spaces.
[rbdr/super-polarity] / SuperPolarityMac / Particle.cs
diff --git a/SuperPolarityMac/Particle.cs b/SuperPolarityMac/Particle.cs
new file mode 100644 (file)
index 0000000..d65bac6
--- /dev/null
@@ -0,0 +1,51 @@
+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);
+        }
+
+    }
+}