/// <summary> /// Unregisters item and returns true if it was unregistered, false if it did not exist /// </summary> public bool Unregister(T item) { lock (m_Sync) { if (!m_Data.ContainsKey(item.Name)) { return(false); } var data = new RegistryDictionary <T>(m_Data); data.Remove(item.Name); JustUnregistered(item); m_Data = data; } return(true); }
/// <summary> /// Unregisters item by name and returns true if it was unregistered, false if it did not exist /// </summary> public bool Unregister(string name) { lock (m_Sync) { T item; if (!m_Data.TryGetValue(name, out item)) { return(false); } var data = new RegistryDictionary <T>(m_Data); data.Remove(name); JustUnregistered(item); m_Data = data; } return(true); }