void AnalizeSheet(ExcelSheet sheet) { sheet.SetHeaderAndSelectRow(1); var headers = sheet.CurrentRow; while (sheet.MoveNext()) { var row = sheet.CurrentRow; var mapping = row.ValuesWithHeader; if (!mapping.ContainsKey(HEADER_ID)) { Debug.LogErrorFormat("Sheet {0} doesn't have header {1}", sheet.Name, HEADER_ID); return; } if (!mapping.ContainsKey(HEADER_REMARK)) { Debug.LogErrorFormat("Sheet {0} doesn't have header {1}", sheet.Name, HEADER_ID); return; } var id = mapping[HEADER_ID]; var remark = mapping[HEADER_REMARK]; VocabularyEntryType type = (VocabularyEntryType)System.Enum.Parse(typeof(VocabularyEntryType), mapping[HEADER_TYPE]); foreach (var kv in mapping) { if (!string.IsNullOrEmpty(kv.Value) && kv.Key.StartsWith(HEADER_CONTENT)) { var language = kv.Key.Substring(HEADER_CONTENT.Length); var content = kv.Value; var font = mapping[HEADER_FONT + language]; VocabularyEntryMap entryMap; if (!_multiLanguageData.TryGetValue(language, out entryMap)) { entryMap = new VocabularyEntryMap() { Language = language }; _multiLanguageData.Add(language, entryMap); } entryMap.Add(new VocabularyEntry() { ID = id, Type = type, Remark = remark, Language = language, Content = content, FontName = font, }); if (string.IsNullOrEmpty(content)) { Debug.LogWarningFormat("Vocabulary [{0}] content in language {1} is null!", id, language); } } } } }
public static void Show(VocabularyEntryType entryType, string current, Action <string> onSelect) { if (_window == null) { _window = CreateInstance <LocalizationTextSelectorWindow>(); } _window._entryType = entryType; _window._current = current; _window._onSelect = onSelect; _window.ShowAuxWindow(); }
public ICollection <EditorMultiLanguageEntry> GetEntries(VocabularyEntryType type) { return(type == VocabularyEntryType.Text ? TextEntries : ImageEntries); }