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();
 }
Esempio n. 3
0
 public ICollection <EditorMultiLanguageEntry> GetEntries(VocabularyEntryType type)
 {
     return(type == VocabularyEntryType.Text ? TextEntries : ImageEntries);
 }