MosswartMassacre/Unused/Decal.Adapter.Wrappers/Vector4Object.cs
2025-06-09 02:03:11 +02:00

79 lines
1.3 KiB
C#

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);
}
}