/// <inheritdoc/> public override void AddKey(string key) { if ((m_StringDict != null && m_StringDict.ContainsKey(key)) || m_StringTableEntries.Exists(te => te.Id == key)) { Debug.LogWarningFormat("Can not add duplicate key '{0}' to table {1}.", key, TableName); } else { var ste = new StringTableEntry(key); if (m_StringDict != null) { m_StringDict[key] = ste; } m_StringTableEntries.Add(ste); } }
/// <inheritdoc/> public override void ReplaceKey(string key, string newKey) { if (m_StringDict != null) { StringTableEntry foundEntry; if (m_StringDict.TryGetValue(key, out foundEntry)) { foundEntry.Id = newKey; m_StringDict.Remove(key); m_StringDict[newKey] = foundEntry; } } else { StringTableEntry foundEntry = m_StringTableEntries.Find(ste => ste.Id == key); if (foundEntry != null) { foundEntry.Id = newKey; } } }