using System; namespace UnityEngine.Rendering.HighDefinition { /// /// Identifies uniquely a . /// /// Use to get a schema. /// [Serializable] public struct ScalableSettingSchemaId : IEquatable { /// A scalable setting with 3 levels. public static readonly ScalableSettingSchemaId With3Levels = new ScalableSettingSchemaId("With3Levels"); /// A scalable setting with 4 levels. public static readonly ScalableSettingSchemaId With4Levels = new ScalableSettingSchemaId("With4Levels"); [SerializeField] string m_Id; internal ScalableSettingSchemaId(string id) => m_Id = id; /// /// Checks equality /// /// The other to check. /// True when they are equals public bool Equals(ScalableSettingSchemaId other) => m_Id == other.m_Id; /// /// Checks equality /// /// The other to check. /// True when they are equals public override bool Equals(object obj) => (obj is ScalableSettingSchemaId id) && id.m_Id == m_Id; /// /// Compute the hash code /// /// The hash code public override int GetHashCode() => m_Id?.GetHashCode() ?? 0; /// /// Compute a human friendly string representation /// /// The string representation. public override string ToString() => m_Id; } }