using System; namespace SBRL.Utilities { /// /// Represents a single point in 2D space. /// May also be used to represent a direction with a magnitude. /// /// v0.1 /// /// v0.1 - 1st April 2017 /// - Added this changelog /// public struct Vector2 { /// /// A Vector 2 with all it's proeprties initialised to zero. /// public static Vector2 Zero = new Vector2() { X = 0, Y = 0 }; /// /// The X coordinate. /// public float X { get; set; } /// /// The Y coordinate. /// public float Y { get; set; } public Vector2(float x, float y) { X = x; Y = y; } public Vector2 Add(Vector2 b) { return new Vector2( X + b.X, Y + b.X ); } public Vector2 Subtract(Vector2 b) { return new Vector2( X - b.X, Y - b.X ); } public Vector2 Divide(int b) { return new Vector2( X / b, Y / b ); } public Vector2 Multiply(int b) { return new Vector2( X * b, Y * b ); } } }