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); } }
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); }
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)); } } } }
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()); }