private void button9_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "json files|*.json"; if (openFileDialog.ShowDialog() != DialogResult.OK) { return; } var scriptItems = JsonConvert.DeserializeObject <List <ScriptItem2> >(File.ReadAllText(openFileDialog.FileName)); List <ScriptItemV2> nItems = new List <ScriptItemV2>(); foreach (var item in scriptItems) { ScriptItemV2 sItem = new ScriptItemV2(); sItem.Name = item.Name; sItem.NameTrans = item.NameTrans; foreach (var textItem in item.TextList) { int key = textItem.Text.Length; if (sItem.TextList.ContainsKey(key)) { sItem.TextList[key].Add(textItem); } else { sItem.TextList.Add(key, new List <ScriptSubItem>() { textItem }); } } nItems.Add(sItem); } File.WriteAllText(Path.Combine(Path.GetDirectoryName(openFileDialog.FileName), Path.GetFileNameWithoutExtension(openFileDialog.FileName) + "_V2.json"), JsonConvert.SerializeObject(nItems, Formatting.Indented)); }
private void ConvertAndTranslate(string path) { var scriptItems = JsonConvert.DeserializeObject <List <ScriptItem> >(File.ReadAllText(path)); List <ScriptItemV2> siVer2 = new List <ScriptItemV2>(); foreach (var item in scriptItems) { if (string.IsNullOrEmpty(item.Name) && string.IsNullOrEmpty(item.Text)) { continue; } int index = siVer2.FindIndex(a => a.Name == item.Name); if (index == -1) { ScriptItemV2 item2 = new ScriptItemV2(); if (!string.IsNullOrWhiteSpace(item.Name)) { item2.Name = item.Name; item2.NameTrans = Program.tools.CompareAndReplace(item.Name, Program.tools.names); } ScriptSubItem subItem = new ScriptSubItem(); subItem.Text = item.Text; subItem.TransText = item.TextTrans; subItem.ChoiceDataList = new List <ScriptSubItem>(item.ChoiceDataList); int key = subItem.Text.Length; if (item2.TextList.ContainsKey(key)) { item2.TextList[key].Add(subItem); } else { item2.TextList.Add(key, new List <ScriptSubItem>() { subItem }); } siVer2.Add(item2); } else { ScriptSubItem subItem = new ScriptSubItem(); subItem.Text = item.Text; subItem.TransText = item.TextTrans; subItem.ChoiceDataList = new List <ScriptSubItem>(item.ChoiceDataList); int key = subItem.Text.Length; if (siVer2[index].TextList.ContainsKey(key)) { siVer2[index].TextList[key].Add(subItem); } else { siVer2[index].TextList.Add(key, new List <ScriptSubItem>() { subItem }); } } } File.WriteAllText("DialogueTextsV2.json", JsonConvert.SerializeObject(siVer2, Formatting.Indented)); }