// Copyright (c) Wojciech Figat. All rights reserved. using System; namespace FlaxEngine { partial struct SceneReference : IComparable, IComparable, IComparable { /// /// Initializes a new instance of the class. /// /// The identifier of the scene asset. public SceneReference(Guid id) { ID = id; } /// /// Compares two values and returns true if are equal or false if unequal. /// /// The left value. /// The right value. /// True if values are equal, otherwise false. public static bool operator ==(SceneReference left, SceneReference right) { return left.ID == right.ID; } /// /// Compares two values and returns false if are equal or true if unequal. /// /// The left value. /// The right value. /// True if values are not equal, otherwise false. public static bool operator !=(SceneReference left, SceneReference right) { return left.ID != right.ID; } /// /// Compares two values and returns true if are equal or false if unequal. /// /// The left value. /// The right value. /// True if values are equal, otherwise false. public static bool operator ==(SceneReference left, Guid right) { return left.ID == right; } /// /// Compares two values and returns false if are equal or true if unequal. /// /// The left value. /// The right value. /// True if values are not equal, otherwise false. public static bool operator !=(SceneReference left, Guid right) { return left.ID != right; } /// public int CompareTo(object obj) { if (obj is Guid id) return CompareTo(id); if (obj is SceneReference other) return CompareTo(other); return 0; } /// public int CompareTo(Guid other) { return ID.CompareTo(other); } /// public int CompareTo(SceneReference other) { return ID.CompareTo(other.ID); } /// public override bool Equals(object obj) { if (obj is Guid id) return ID == id; if (obj is SceneReference other) return ID == other.ID; return false; } /// public override int GetHashCode() { return ID.GetHashCode(); } /// public override string ToString() { return ID.ToString(); } } }