public static Vector3Int Max(Vector3Int lhs, Vector3Int rhs) { return(new Vector3Int(Mathf.Max(lhs.x, rhs.x), Mathf.Max(lhs.y, rhs.y), Mathf.Max(lhs.z, rhs.z))); }
public static int Distance(Vector3Int a, Vector3Int b) { return((b - a).magnitude); }
public static int Magnitude(Vector3Int a) { return(Mathf.Abs(a.x) + Mathf.Abs(a.y) + Mathf.Abs(a.z)); }
public static int Dot(Vector3Int lhs, Vector3Int rhs) { return(lhs.x * rhs.x + lhs.y * rhs.y + lhs.z * rhs.z); }
public static Vector3Int Reflect(Vector3Int inDirection, Vector3Int inNormal) { return(-2 * Dot(inNormal, inDirection) * inNormal + inDirection); }
public static Vector3Int Cross(Vector3Int lhs, Vector3Int rhs) { return(new Vector3Int(lhs.y * rhs.z - lhs.z * rhs.y, lhs.z * rhs.x - lhs.x * rhs.z, lhs.x * rhs.y - lhs.y * rhs.x)); }
public void Scale(Vector3Int scale) { x *= scale.x; y *= scale.y; z *= scale.z; }
public static Vector3Int Scale(Vector3Int a, Vector3Int b) { return(new Vector3Int(a.x * b.x, a.y * b.y, a.z * b.z)); }