Esempio n. 1
0
        private static string enumToString(Enum v)
        {
            string    name  = v.ToString();
            FieldInfo field = v.GetType().GetField(name);

            if (field == null)
            {
                return(Convert.ToInt32(v).ToString());
            }
            CaptionAttribute customAttribute = (CaptionAttribute)Attribute.GetCustomAttribute(field, typeof(CaptionAttribute));
            string           enumText        = string.Empty;

            if (customAttribute != null)
            {
                enumText = customAttribute.GetEnumText(field);
            }
            else
            {
                enumText = LangTranslator.GetEnumText(field);
            }
            if (!string.IsNullOrEmpty(enumText))
            {
                return(enumText);
            }
            if (customAttribute != null)
            {
                return(customAttribute.Text);
            }
            return(ConvertName(name));
        }
Esempio n. 2
0
        public string GetText(string path, string name)
        {
            string text = LangTranslator.GetText(path, name);

            return(this.checkLocalize(text));
        }
Esempio n. 3
0
        public string GetText(PropertyDescriptor pd)
        {
            string text = LangTranslator.GetText(pd);

            return(this.checkLocalize(text));
        }
Esempio n. 4
0
        public string GetEnumText(FieldInfo fi)
        {
            string enumText = LangTranslator.GetEnumText(fi);

            return(this.checkLocalize(enumText));
        }
Esempio n. 5
0
 public string GetDescription(string path, string name)
 {
     return(LangTranslator.GetDescription(path, name));
 }
Esempio n. 6
0
 public string GetDescription(PropertyDescriptor pd)
 {
     return(LangTranslator.GetDescription(pd));
 }
Esempio n. 7
0
 private void Apply(string path, List <LanguageItem> items, List <LanguageItem> signs, List <LanguageItem> containers, List <LanguageItem> Entities, List <LanguageItem> MobSpawners)
 {
     //try
     //{
     string[] files = Directory.GetFiles(path + "\\region");
     for (int i = 0; i < files.Length; i++)
     {
         Dispatcher.BeginInvoke(new Action(delegate { totalProgress.Value += 1; progress.Value = 0; }));
         RegionFile region = new RegionFile(files[i]);
         for (int I = 0; I < 32; I++)
         {
             for (int J = 0; J < 32; J++)
             {
                 Dispatcher.BeginInvoke(new Action(delegate { progress.Value += 1; }));
                 if (region.HasChunk(I, J))
                 {
                     try
                     {
                         NbtTree nbtTree = new NbtTree();
                         nbtTree.ReadFrom(region.GetChunkDataInputStream(I, J));
                         TagNodeList tagNodeList = nbtTree.Root["Level"].ToTagCompound()["TileEntities"].ToTagList();
                         TagNodeList entityList  = nbtTree.Root["Level"].ToTagCompound()["Entities"].ToTagList();
                         bool        flag        = false;
                         if (entityList != null)
                         {
                             foreach (TagNodeCompound tagNodeCompound in entityList)
                             {
                                 if (LangTranslator.EntityTranslator(tagNodeCompound, Entities))
                                 {
                                     flag = true;
                                 }
                             }
                         }
                         if (tagNodeList != null)
                         {
                             foreach (TagNodeCompound tagNodeCompound in tagNodeList)
                             {
                                 string data = tagNodeCompound["id"].ToTagString().Data;
                                 if (data == CMDBLOCK)
                                 {
                                     if (LangTranslator.CommandBlockTranslator(tagNodeCompound, items))
                                     {
                                         flag = true;
                                     }
                                 }
                                 else if (data == SIGN)
                                 {
                                     if (LangTranslator.SignTranslator(tagNodeCompound, signs))
                                     {
                                         flag = true;
                                     }
                                 }
                                 else if (tagNodeCompound.ContainsKey("Items") || tagNodeCompound.ContainsKey("RecordItem"))
                                 {
                                     if (LangTranslator.ContainerTranslator(tagNodeCompound, containers))
                                     {
                                         flag = true;
                                     }
                                 }
                                 else if (tagNodeCompound.ContainsKey("SpawnData"))
                                 {
                                     if (LangTranslator.EntityTranslator(tagNodeCompound["SpawnData"].ToTagCompound(), MobSpawners))
                                     {
                                         flag = true;
                                     }
                                 }
                             }
                         }
                         if (flag)
                         {
                             using (Stream chunkDataOutputStream = region.GetChunkDataOutputStream(I, J))
                             {
                                 nbtTree.WriteTo(chunkDataOutputStream);
                             }
                         }
                     }
                     catch { }
                 }
             }
         }
     }
     Dispatcher.BeginInvoke(new Action(delegate { progress.Value = 0; totalProgress.Value = 0; progress.IsIndeterminate = true; totalProgress.IsIndeterminate = true; }));
     //}
     //catch
     //{
     //    Dispatcher.BeginInvoke(new Action(delegate { (System.Windows.Application.Current.MainWindow as MetroWindow).ShowMessageAsync("无法完成操作", "存档可能已经损坏", MessageDialogStyle.Affirmative, new MetroDialogSettings() { AffirmativeButtonText = "确定" }); }));
     //}
 }