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