using System; namespace UnityEngine.XR.ARSubsystems { /// /// Update parameters for . /// public struct XRSessionUpdateParams : IEquatable { /// /// The current screen orientation /// public ScreenOrientation screenOrientation { get; set; } /// /// The current screen dimensions. /// public Vector2Int screenDimensions { get; set; } public override int GetHashCode() { unchecked { var hash = ((int)screenOrientation).GetHashCode(); hash = hash * 486187739 + screenDimensions.GetHashCode(); return hash; } } public override bool Equals(object obj) { if (!(obj is XRSessionUpdateParams)) return false; return Equals((XRSessionUpdateParams)obj); } public override string ToString() { return string.Format("Screen Orientation: {0}, Screen Dimensions: {1}", screenOrientation, screenDimensions); } public bool Equals(XRSessionUpdateParams other) { return (screenOrientation == other.screenOrientation) && (screenDimensions.Equals(other.screenDimensions)); } public static bool operator ==(XRSessionUpdateParams lhs, XRSessionUpdateParams rhs) { return lhs.Equals(rhs); } public static bool operator !=(XRSessionUpdateParams lhs, XRSessionUpdateParams rhs) { return !lhs.Equals(rhs); } } }