/// <summary> /// コンストラクタ /// </summary> /// <param name="diagram">選択状態になっているダイアグラム</param> /// <param name="diagramInfoPage">ページ</param> public DiagramInfoViewModel(KeitoDiagram diagram, DiagramInfoPage diagramInfoPage, GameInfo gameInfo) { this.keito = diagram; this.page = diagramInfoPage; this.gameInfo = gameInfo; this.Close = new CloseCommand(this); this.DiagramLineInfo = new BelongsLinesInfoShowCommand(this); this.DiagramSetting = new DiagramCommand(this); }
public DiagramInfoPage(KeitoDiagram diagram, GameInfo gameInfo) { InitializeComponent(); var vm = new DiagramInfoViewModel(diagram, this, gameInfo); this.DataContext = vm; this.gameInfo = gameInfo; DiagramList.ItemsSource = gameInfo.diagrams; DiagramList.DisplayMemberPath = "Name"; DiagramList.SelectedItem = diagram; gameInfo.lastSeenKeito = diagram; }
//diagram.csv読み込み private static List <KeitoDiagram> CreateDiagramFromFile(string basePath, GameInfo gameInfo) { string csvfile = Path.Combine(basePath, "diagram.csv"); TextFieldParser parser = new TextFieldParser(csvfile) { TextFieldType = FieldType.Delimited }; parser.SetDelimiters(","); // 区切り文字はコンマ var diagramList = new List <KeitoDiagram>(); while (!parser.EndOfData) { string[] cols = parser.ReadFields(); // 1行読み込み var diagram = new KeitoDiagram() { route = new List <Line>(), Name = cols[0], start = gameInfo.stations[int.Parse(cols[1])], end = gameInfo.stations[int.Parse(cols[2])] }; for (int idx = 3; ; idx++) //経由路線 { var j = int.Parse(cols[idx]); if (j == -1) { break; } else { diagram.route.Add(gameInfo.lines[j - 1]); } } diagramList.Add(diagram); } return(diagramList); }