Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Vector2i
- {
- public int X;
- public int Y;
- public Vector2i(int x, int y)
- {
- X = x;
- Y = y;
- }
- public Vector2i(int v)
- {
- X = v;
- Y = v;
- }
- public Vector2i()
- {
- X = 0;
- Y = 0;
- }
- public static Vector2i operator +(Vector2i first, Vector2i second)
- {
- return new Vector2i(first.X + second.X, first.Y + second.Y);
- }
- public static Vector2i operator -(Vector2i first, Vector2i second)
- {
- return new Vector2i(first.X - second.X, first.Y - second.Y);
- }
- public static Vector2i operator *(Vector2i first, Vector2i second)
- {
- return new Vector2i(first.X * second.X, first.Y * second.Y);
- }
- public static Vector2i operator *(Vector2i first, int scalar)
- {
- return new Vector2i(first.X * scalar, first.Y * scalar);
- }
- public static Vector2i operator /(Vector2i first, Vector2i second)
- {
- return new Vector2i(first.X / second.X, first.Y / second.Y);
- }
- public static Vector2i operator /(Vector2i first, int scalar)
- {
- return new Vector2i(first.X / scalar, first.Y / scalar);
- }
- public static implicit operator Vector2(Vector2i v2i) => new Vector2(v2i.X, v2i.Y);
- public static bool operator ==(Vector2i obj1, Vector2i obj2)
- {
- if (obj1.X == obj2.X && obj1.Y == obj2.Y)
- {
- return true;
- }
- return false;
- }
- public static bool operator !=(Vector2i obj1, Vector2i obj2)
- {
- if (obj1.X == obj2.X && obj1.Y == obj2.Y)
- {
- return false;
- }
- return true;
- }
- }
- public class Vector2iEqualityComparer : IEqualityComparer<Vector2i>
- {
- public bool Equals(Vector2i x, Vector2i y)
- {
- if (x.X == y.X && x.Y == y.Y)
- {
- return true;
- }
- return false;
- }
- public int GetHashCode(Vector2i obj)
- {
- return obj.X.GetHashCode() ^ obj.Y.GetHashCode();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement