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