public override void OnEnterWorld(Player player) { if (ModContent.GetInstance <Config>().TerrariaPatcher) { Main.NewText($"클라이언트 번역 제공: 테라리안 in Naver", 243, 229, 245); Main.NewText($" https://cafe.naver.com/ztnc", 243, 229, 245); } List <MKTMod> MKTmods = tModKoreanTranslator.instance.MKTmods; foreach (MKTMod mktmod in MKTmods) { MKTModMeta meta = mktmod.meta; if (mktmod.active) { string credit = ""; if (meta.translator.Length > 0) { credit += $"번역: {meta.translator} "; } if (meta.inspector.Length > 0) { credit += $"검수: {meta.inspector}"; } Main.NewText($"{meta.name} {meta.modVersion.ToString()} {credit}", 243, 229, 245); if (ModContent.GetInstance <Config>().TranslatorMode) { // 번역자 모드가 켜져있는 경우 mktmod.update(); // debug // 번역파일을 업데이트 if (mktmod.version.CompareTo(meta.modVersion) > 0) { mktmod.update(); Main.NewText($" {meta.modVersion.ToString()} => {mktmod.version.ToString()} 업데이트 했습니다.", 243, 229, 245); } else if (mktmod.version.CompareTo(meta.modVersion) < 0) { Main.NewText($" 모드가 번역파일보다 구버전입니다.", 243, 229, 245); } else { Main.NewText($" 번역파일과 동일한 버전입니다.", 243, 229, 245); } } } else { if (ModContent.GetInstance <Config>().TranslatorMode) { // 번역자 모드가 켜져있는 경우 // 번역파일이 없는 모드의 원시 번역파일 생성 mktmod.dump(); Main.NewText($"{meta.name}의 번역파일을 생성", 243, 229, 245); } } } }
public MKTMod(Mod mod) { this.mod = mod; this.version = mod.Version; this.path = Path.Combine(MKTCore.translatorPath, "tr_" + mod.Name); this.langs = new Dictionary <string, MKTModLang>(); // 0.3.0 번역호환 if (Directory.Exists(Path.Combine(MKTCore.translatorPath, mod.Name))) { try { Directory.Move(Path.Combine(MKTCore.translatorPath, mod.Name), path); } catch { // 실패시 수동변경 } } if (File.Exists(Path.Combine(MKTCore.translatorPath, $"{mod.Name}.mkt")) && !ModContent.GetInstance <Config>().TranslatorMode) { this.active = true; this.meta = new MKTModMeta(MKTCore.LoadJSON(Path.Combine(MKTCore.translatorPath, $"{mod.Name}.mkt"), true).Value <JObject>("meta")); Load(); } else if (File.Exists(Path.Combine(path, "_Meta.json"))) { this.active = true; this.meta = new MKTModMeta(path); // 번역파일 로드 Compile(); Load(); } else { this.meta = new MKTModMeta(mod); } }