コード例 #1
0
 public void TranslateBuffs(TextFile.BuffFile buffs)
 {
     foreach (var buff in buffs.Buffs.Values)
     {
         Logger.DebugLog(string.Format("Translating buff: {0}", buff.Name));
         buff.NameTranslation = Query(buff.Name);
         buff.TipTranslation  = Query(buff.Tip);
     }
 }
コード例 #2
0
        public static TextFile.BuffFile GetBuffTexts(Mod mod)
        {
            var buffs = typeof(Mod).GetField("buffs", BindingFlags.Instance | BindingFlags.NonPublic)
                        .GetValue(mod) as Dictionary <string, ModBuff>;
            var buffFile = new TextFile.BuffFile();

            foreach (var buffPair in buffs)
            {
                var buffTranslation = new TextFile.BuffTranslation(buffPair.Value);
                buffFile.Buffs.Add(buffPair.Key, buffTranslation);
            }

            return(buffFile);
        }
コード例 #3
0
ファイル: ExportTool.cs プロジェクト: XiaoRr/LocalizerMod
        public static void ExportBuffTexts(Mod mod, string path)
        {
            if (mod != null)
            {
                var buffs    = typeof(Mod).GetField("buffs", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(mod) as Dictionary <string, ModBuff>;
                var buffFile = new TextFile.BuffFile();
                foreach (var buffPair in buffs)
                {
                    var buffTranslation = new TextFile.BuffTranslation(buffPair.Value);
                    buffFile.Buffs.Add(buffPair.Key, buffTranslation);
                }

                using (var fs = new FileStream(Path.Combine(path, "Buffs.json"), FileMode.Create))
                {
                    using (var sw = new StreamWriter(fs))
                    {
                        sw.Write(JsonConvert.SerializeObject(buffFile, Formatting.Indented));
                    }
                }
            }
        }
コード例 #4
0
        public static void UpdateBuffsText(TextFile.BuffFile oldFile, TextFile.BuffFile newFile)
        {
            var sb = new StringBuilder();

            // Update npcs
            var buffResult = UpdateDict(oldFile.Buffs, newFile.Buffs);

            // New buff
            foreach (var buff in buffResult.New)
            {
                sb.AppendFormat(NewBuffLogFormat, buff.Key, buff.Value.Name, buff.Value.Tip);
            }
            // Changed buff
            foreach (var buff in buffResult.Change)
            {
                TextFile.BuffTranslation old;
                oldFile.Buffs.TryGetValue(buff.Key, out old);
                if (old != null)
                {
                    if (old.Name != buff.Value.Name || old.Tip != buff.Value.Tip)
                    {
                        sb.AppendFormat(BuffChangeLogFormat, buff.Key);
                    }
                    if (old.Name != buff.Value.Name)
                    {
                        sb.AppendFormat(BuffNameChangeLogFormat, old.Name, buff.Value.Name);
                        old.Name = buff.Value.Name;
                    }
                    if (old.Tip != buff.Value.Tip)
                    {
                        sb.AppendFormat(BuffTipChangeLogFormat, old.Tip, buff.Value.Tip);
                        old.Tip = buff.Value.Tip;
                    }
                }
            }

            Logger.TextUpdateLog(sb.ToString());
        }