Exemple #1
0
        public static void UpdateMiscsText(TextFile.MiscFile oldFile, TextFile.MiscFile newFile)
        {
            var sb = new StringBuilder();

            // Update miscs
            var miscResult = UpdateDict(oldFile.Miscs, newFile.Miscs);

            // New misc
            foreach (var misc in miscResult.New)
            {
                sb.AppendFormat(NewMiscLogFormat, misc.Key, misc.Value.Default);
            }
            // Changed misc
            foreach (var misc in miscResult.Change)
            {
                TextFile.MiscTranslation old;
                oldFile.Miscs.TryGetValue(misc.Key, out old);
                if (old != null && old.Default != misc.Value.Default)
                {
                    sb.AppendFormat(MiscChangeLogFormat, misc.Key, old.Default, misc.Value.Default);
                    old.Default = misc.Value.Default;
                }
            }

            Logger.TextUpdateLog(sb.ToString());
        }
Exemple #2
0
 public void TranslateMiscs(TextFile.MiscFile miscs)
 {
     foreach (var misc in miscs.Miscs.Values)
     {
         Logger.DebugLog(string.Format("Translating misc: {0}", misc.Default));
         misc.Translation = Query(misc.Default);
     }
 }
Exemple #3
0
        public static TextFile.MiscFile GetMiscTexts(Mod mod)
        {
            var translations =
                typeof(Mod).GetField("translations", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(mod) as
                Dictionary <string, ModTranslation>;
            var miscFile = new TextFile.MiscFile();

            foreach (var translation in translations)
            {
                miscFile.Miscs.Add(translation.Key.Replace(string.Format("Mods.{0}.", mod.Name), ""),
                                   new TextFile.MiscTranslation(translation.Value));
            }

            return(miscFile);
        }
Exemple #4
0
        public static void ExportMiscTexts(Mod mod, string path)
        {
            if (mod != null)
            {
                var translations = typeof(Mod).GetField("translations", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(mod) as Dictionary <string, ModTranslation>;
                var miscFile     = new TextFile.MiscFile();
                foreach (var translation in translations)
                {
                    miscFile.miscs.Add(translation.Key.Replace(string.Format("Mods.{0}.", mod.Name), ""), new TextFile.MiscTranslation(translation.Value.GetDefault()));
                }

                using (var fs = new FileStream(Path.Combine(path, "Miscs.json"), FileMode.Create))
                {
                    using (var sw = new StreamWriter(fs))
                    {
                        sw.Write(JsonConvert.SerializeObject(miscFile, Formatting.Indented));
                    }
                }
            }
        }