public void AddReplacing(TKey p_key, TValue p_value) { bool v_found = false; for (int i = 0; i < this.Count; i++) { try { if (EqualityExtension.Equals(this[i].Key, p_key)) { v_found = true; TPair v_pair = new TPair(); v_pair.Value = p_value; v_pair.Key = p_key; this[i] = v_pair; break; } } catch { } } if (!v_found) { Add(p_key, p_value); } }
public int ObjectIndex(T p_object) { for (int i = 0; i < this.Count; i++) { if (EqualityExtension.Equals(this[i], p_object)) { return(i); } } return(-1); }
public TPair GetPairWithValue(TValue p_value) { foreach (TPair v_pairValues in this) { try { if (EqualityExtension.Equals(v_pairValues.Value, p_value)) { return(v_pairValues); } } catch { } } return(default(TPair)); }
public bool ContainsValue(TValue p_value) { foreach (TPair v_pairValue in this) { try { if (EqualityExtension.Equals(v_pairValue.Value, p_value)) { return(true); } } catch { } } return(false); }
public bool ContainsKey(TKey p_key) { foreach (TPair v_pairValue in this) { try { if (EqualityExtension.Equals(v_pairValue.Key, p_key)) { return(true); } } catch { } } return(false); }
public TPair GetPairWithKey(TKey p_key) { foreach (TPair v_pairValues in this) { try { if (EqualityExtension.Equals(v_pairValues.Key, p_key)) { //if(p_key.Equals(v_pairValues.Comparer)) return(v_pairValues); } } catch { } } return(default(TPair)); }
public TKey GetKeyWithValue(TValue p_value) { foreach (TPair v_pairValues in this) { try { if (EqualityExtension.Equals(v_pairValues.Value, p_value)) { //if(p_value.Equals(v_pairValues.Object)) return(v_pairValues.Key); } } catch { } } return(default(TKey)); }
public bool RemoveByKey(TKey p_key) { TPair v_removePair = default(TPair); foreach (TPair v_pairValue in this) { try { if (EqualityExtension.Equals(v_pairValue.Key, p_key)) { v_removePair = v_pairValue; break; } } catch { } } return(this.RemoveChecking(v_removePair)); }
public bool RemoveChecking(TValue p_value) { TPair v_removePair = default(TPair); foreach (TPair v_pairValue in this) { try { if (EqualityExtension.Equals(v_pairValue.Value, p_value)) { v_removePair = v_pairValue; break; } } catch { } } return(this.RemoveChecking(v_removePair)); }
public ArrayList <TValue> GetAllValuesWithKey(TKey p_key) { ArrayList <TValue> v_values = new ArrayList <TValue>(); foreach (TPair v_pairValues in this) { try { if (EqualityExtension.Equals(v_pairValues.Key, p_key)) { //if(p_key.Equals(v_pairValues.Comparer)) v_values.Add(v_pairValues.Value); } } catch { } } return(v_values); }
public bool RemoveChecking(T p_object, bool p_removeNulls = true) { bool v_sucess = false; if (!EqualityExtension.IsNull(p_object)) { if (p_removeNulls) { RemoveNulls(); } ArrayList <T> v_newList = new ArrayList <T>(); for (int i = 0; i < this.Count; i++) { try { T v_object = this[i]; if (!EqualityExtension.Equals(p_object, v_object)) { v_newList.Add(v_object); } else { v_sucess = true; } } catch { UnityEngine.Debug.Log("An error occurred when trying to RemoveChecking"); v_sucess = true; } } this.Clear(); foreach (T v_object in v_newList) { this.AddWithoutCallEvents(v_object); } } if (v_sucess) { OnRemove(p_object); } return(v_sucess); }
public void AddChecking(TKey p_key, TValue p_value) { bool v_found = false; foreach (TPair v_pair in this) { try { if (EqualityExtension.Equals(v_pair.Value, p_value) && EqualityExtension.Equals(v_pair.Key, p_key)) { v_found = true; break; } } catch { } } if (!v_found) { Add(p_key, p_value); } }