/// <summary> /// Remove all Sprite Library override for a given category /// </summary> /// <param name="category">Category overrides to remove</param> public void RemoveOverride(string category) { var hash = new StringAndHash(SpriteLibraryAsset.GetStringHash(category)); m_Overrides.Remove(hash); RefreshSpriteResolvers(); }
private Dictionary <StringAndHash, Sprite> GetCategoryOverride(StringAndHash category, bool addToList) { Dictionary <StringAndHash, Sprite> label; if (m_Overrides.ContainsKey(category)) { label = m_Overrides[category]; } else { label = new Dictionary <StringAndHash, Sprite>(); } if (addToList && !m_Overrides.ContainsKey(category)) { if (string.IsNullOrEmpty(category.name)) { Debug.LogWarning("Adding override category with no name"); } m_Overrides.Add(category, label); } return(label); }
private bool Equals(StringAndHash p) { // If run-time types are not exactly the same, return false. if (this.GetType() != p.GetType()) { return(false); } return((hash == p.hash) || (name == p.name)); }
internal Sprite GetSprite(int categoryHash, int labelHash) { var cat = new StringAndHash(categoryHash); var label = new StringAndHash(labelHash); if (m_Overrides.ContainsKey(cat) && m_Overrides[cat].ContainsKey(label)) { return(m_Overrides[cat][label]); } return(m_SpriteLibraryAsset == null ? null : m_SpriteLibraryAsset.GetSprite(categoryHash, labelHash)); }
private bool Equals(StringAndHash p) { if (Object.ReferenceEquals(p, null)) { return(false); } // Optimization for a common success case. if (Object.ReferenceEquals(this, p)) { return(true); } // If run-time types are not exactly the same, return false. if (this.GetType() != p.GetType()) { return(false); } return((hash == p.hash) || (name == p.name)); }
private void AddSpriteToOverride(Dictionary <StringAndHash, Sprite> overrides, StringAndHash label, Sprite sprite) { if (overrides.ContainsKey(label)) { overrides[label] = sprite; } else { overrides.Add(label, sprite); } RefreshSpriteResolvers(); }
public override bool Equals(StringAndHash obj) { return(obj.HashCode == HashCode && // This will improve perf in negative cases. StringComparer.Ordinal.Equals(obj.Value, Value)); }