private void AddStringTableEntry(StringBuilder strTable, Dictionary <string, uint> strMap, ref ClassDatabaseFileString str) { string stringValue = str.GetString(this); if (!strMap.ContainsKey(stringValue)) { strMap[stringValue] = (uint)strTable.Length; strTable.Append(stringValue + '\0'); } str.str.stringTableOffset = strMap[stringValue]; }
private void AddStringTableEntry(ClassDatabaseFile cldb, StringBuilder strTable, Dictionary <string, uint> strMap, ref ClassDatabaseFileString str) { string stringValue = str.GetString(cldb); if (strTable != null) { //search for string first and use that index if possible if (!strMap.ContainsKey(stringValue)) { strMap[stringValue] = (uint)strTable.Length; strTable.Append(stringValue + '\0'); } str.str.stringTableOffset = strMap[stringValue]; } else { //always add string str.str.stringTableOffset = (uint)strTable.Length; strTable.Append(stringValue + '\0'); } }