Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.35 KB | None | 0 0
  1. public class Vector2i
  2.     {
  3.         public int X;
  4.         public int Y;
  5.  
  6.         public Vector2i(int x, int y)
  7.         {
  8.             X = x;
  9.             Y = y;
  10.         }
  11.  
  12.         public Vector2i(int v)
  13.         {
  14.             X = v;
  15.             Y = v;
  16.         }
  17.  
  18.         public Vector2i()
  19.         {
  20.             X = 0;
  21.             Y = 0;
  22.         }
  23.  
  24.         public static Vector2i operator +(Vector2i first, Vector2i second)
  25.         {
  26.             return new Vector2i(first.X + second.X, first.Y + second.Y);
  27.         }
  28.  
  29.         public static Vector2i operator -(Vector2i first, Vector2i second)
  30.         {
  31.             return new Vector2i(first.X - second.X, first.Y - second.Y);
  32.         }
  33.  
  34.         public static Vector2i operator *(Vector2i first, Vector2i second)
  35.         {
  36.             return new Vector2i(first.X * second.X, first.Y * second.Y);
  37.         }
  38.  
  39.         public static Vector2i operator *(Vector2i first, int scalar)
  40.         {
  41.             return new Vector2i(first.X * scalar, first.Y * scalar);
  42.         }
  43.  
  44.         public static Vector2i operator /(Vector2i first, Vector2i second)
  45.         {
  46.             return new Vector2i(first.X / second.X, first.Y / second.Y);
  47.         }
  48.  
  49.         public static Vector2i operator /(Vector2i first, int scalar)
  50.         {
  51.             return new Vector2i(first.X / scalar, first.Y / scalar);
  52.         }
  53.  
  54.         public static implicit operator Vector2(Vector2i v2i) => new Vector2(v2i.X, v2i.Y);
  55.  
  56.         public static bool operator ==(Vector2i obj1, Vector2i obj2)
  57.         {
  58.             if (obj1.X == obj2.X && obj1.Y == obj2.Y)
  59.             {
  60.                 return true;
  61.             }
  62.             return false;
  63.         }
  64.  
  65.         public static bool operator !=(Vector2i obj1, Vector2i obj2)
  66.         {
  67.             if (obj1.X == obj2.X && obj1.Y == obj2.Y)
  68.             {
  69.                 return false;
  70.             }
  71.             return true;
  72.         }
  73.  
  74.        
  75.     }
  76.  
  77.     public class Vector2iEqualityComparer : IEqualityComparer<Vector2i>
  78.     {
  79.         public bool Equals(Vector2i x, Vector2i y)
  80.         {
  81.             if (x.X == y.X && x.Y == y.Y)
  82.             {
  83.                 return true;
  84.             }
  85.             return false;
  86.         }
  87.  
  88.         public int GetHashCode(Vector2i obj)
  89.         {
  90.             return obj.X.GetHashCode() ^ obj.Y.GetHashCode();
  91.         }
  92.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement