namespace Decal.Adapter.Wrappers; public class Vector4Object { private double mW; private double mX; private double mY; private double mZ; public double W => mW; public double X => mX; public double Y => mY; public double Z => mZ; public Vector4Object(double w, double x, double y, double z) { mW = w; mX = x; mY = y; mZ = z; } public override string ToString() { return "{W = " + mW + ", X = " + mX + ", Y = " + mY + ", Z = " + mZ + "}"; } public override bool Equals(object obj) { if (obj is Vector4Object) { Vector4Object vector4Object = (Vector4Object)obj; if (mW == vector4Object.mW && mX == vector4Object.mX && mY == vector4Object.mY) { return mZ == vector4Object.mZ; } return false; } return false; } public bool Equals(Vector4Object obj) { if (obj == null) { return false; } if (mW == obj.mW && mX == obj.mX && mY == obj.mY) { return mZ == obj.mZ; } return false; } public override int GetHashCode() { return mW.GetHashCode() ^ mX.GetHashCode() ^ mY.GetHashCode() ^ mZ.GetHashCode(); } public static bool operator ==(Vector4Object a, Vector4Object b) { if (object.Equals(a, null)) { return object.Equals(b, null); } return a.Equals(b); } public static bool operator !=(Vector4Object a, Vector4Object b) { return !(a == b); } }