public override void OnInitialize() { base.OnInitialize(); if (CanvasViewModel.IsFrameSizeZero) { MessageBox.Show("フレームのサイズが 0 です"); Exits = true; return; } var fileName = GetFileName(); if (string.IsNullOrEmpty(fileName)) { return; } var serializer = new MazeDataSerializer(CanvasViewModel.MazeFrameData, CanvasViewModel.MazeContentData); serializer.Save(fileName); }
public override void OnInitialize() { base.OnInitialize(); var fileName = GetFileName(); if (string.IsNullOrEmpty(fileName)) { return; } var serializer = new MazeDataSerializer(CanvasViewModel.MazeFrameData, CanvasViewModel.MazeContentData); if (!serializer.Load(fileName)) { MessageBox.Show($"{fileName} の読込みに失敗しました"); return; } if (CanvasViewModel.MazeFrameData.SizeX < DataConstraints.MinFrameSize || DataConstraints.MaxFrameSize < CanvasViewModel.MazeFrameData.SizeX) { CanvasViewModel.MazeFrameData.Clear(); CanvasViewModel.MazeContentData.Clear(); MessageBox.Show($"SizeX が {DataConstraints.MinFrameSize} ~ {DataConstraints.MaxFrameSize} の間のデータのみ読込み可能です"); return; } if (CanvasViewModel.MazeFrameData.SizeX != CanvasViewModel.MazeFrameData.SizeY) { MessageBox.Show("SizeX は SizeY と一致するデータのみ読込み可能です"); return; } UpdateRenderCanvas(); }