public void Output() { BaseNode baseNode = MainViweModel.instance.baseNode; BaseBox baseBox = BoxViewModel.instance.baseBox; ConfirmViewModel.instance.ShowWindow(() => { TunagumIO.ExportBaseBox(baseBox); this.HideWiondow(); }, null, "出力しますか?", ""); }
public static BaseBox LoadBaseBox() { string optionText = Import.ReadFile(DEFINE.OptionFileName); var bb = BaseBox.ConvertOptionText(optionText); XElement root = TunagumIO.LoadFromPath(); var programs = root.Elements("program"); foreach (XElement prog in programs) { var titles = prog.Descendants("object"); if (titles != null) { Dictionary <string, string> idToNextid = new Dictionary <string, string>(); List <Box> boxlist = new List <Box>(); foreach (var title in titles) { string v = title.Attribute("name").Value; string boxid = title.Attribute("boxID").Value; string nextid = title.Attribute("nextBox").Value; idToNextid[boxid] = nextid; if (v == "Time") { var cbox = bb.AddBoxForTag("@<time>@"); cbox.id = int.Parse(boxid); boxlist.Add(cbox); } if (v == "screen") { var cbox = bb.AddBoxForTag("@<screen>@"); cbox.id = int.Parse(boxid); boxlist.Add(cbox); } if (v == "DVD") { var cbox = bb.AddBoxForTag("@<DVD>@"); cbox.id = int.Parse(boxid); boxlist.Add(cbox); } if (v == "door") { var cbox = bb.AddBoxForTag("@<door>@"); cbox.id = int.Parse(boxid); boxlist.Add(cbox); } } //nextboxをchildにする処理. foreach (var b in boxlist) { if (idToNextid.ContainsKey(b.id.ToString())) { string[] arr = idToNextid[b.id.ToString()].Split(','); foreach (var str in arr) { foreach (var b2 in boxlist) { if (b2.id.ToString() == str) { b.AddChildBox(b2); } } } } if (b.id == 0) { bb.AddChildBox(b); } } } } bb.RefreshProgramID(); return(bb); }