"refactor:Improve-map-loading-and-use-canvas-nodes"

This commit is contained in:
2025-12-14 22:55:09 +09:00
parent 764fbbd204
commit 3c8eae889c
13 changed files with 218 additions and 199 deletions

View File

@@ -61,6 +61,15 @@ namespace Project
usbdet.DeviceArrived += Usbdet_DeviceArrived;
usbdet.DeviceRemoved += Usbdet_DeviceRemoved;
PUB._mapCanvas = new AGVNavigationCore.Controls.UnifiedAGVCanvas();
PUB._mapCanvas.Dock = DockStyle.Fill;
PUB._mapCanvas.ShowGrid = false;
PUB._mapCanvas.BackColor = Color.FromArgb(32, 32, 32);
PUB._mapCanvas.ForeColor = Color.White;
this.panTopMenu.MouseMove += LbTitle_MouseMove;
this.panTopMenu.MouseUp += LbTitle_MouseUp;
this.panTopMenu.MouseDown += LbTitle_MouseDown;
@@ -776,7 +785,7 @@ namespace Project
var od = new OpenFileDialog
{
Filter = "AGV Map Files (*.agvmap)|*.agvmap|All Files (*.*)|*.*",
Filter = "AGV Map Files (*.agvmap;*.json)|*.agvmap;*.json|All Files (*.*)|*.*",
DefaultExt = "agvmap",
FileName = PUB._mapCanvas.MapFileName,
};
@@ -801,24 +810,9 @@ namespace Project
if (result.Success)
{
var _mapCanvas = PUB._mapCanvas;
PUB._mapNodes = result.Nodes;
_mapCanvas.SetMapLoadResult(result);
PUB.log.Add($"Set _mapNodes");
// 맵 캔버스에 데이터 설정
_mapCanvas.Nodes = result.Nodes;
_mapCanvas.Labels = result.Labels;
_mapCanvas.Images = result.Images;
_mapCanvas.Marks = result.Marks;
_mapCanvas.Magnets = result.Magnets;
// RfidMappings 제거됨 - MapNode에 통합
// 🔥 맵 설정 적용 (배경색, 그리드 표시)
if (result.Settings != null)
{
_mapCanvas.BackColor = System.Drawing.Color.FromArgb(result.Settings.BackgroundColorArgb);
_mapCanvas.ShowGrid = result.Settings.ShowGrid;
}
// 설정에 마지막 맵 파일 경로 저장
PUB.setting.LastMapFile = filePath;
PUB.setting.Save();
@@ -860,7 +854,7 @@ namespace Project
}
var _mapCanvas = PUB._mapCanvas;
var _mapNodes = PUB._mapNodes;
// 🔥 현재 캔버스 설정을 맵 파일에 저장
var settings = new MapLoader.MapSettings
@@ -869,7 +863,11 @@ namespace Project
ShowGrid = _mapCanvas.ShowGrid
};
if (MapLoader.SaveMapToFile(filePath, _mapNodes, _mapCanvas.Labels, _mapCanvas.Images, _mapCanvas.Marks, _mapCanvas.Magnets, settings))
if (MapLoader.SaveMapToFile(filePath,
_mapCanvas.Nodes, _mapCanvas.Labels,
_mapCanvas.Images, _mapCanvas.Marks,
_mapCanvas.Magnets,
settings))
{
// 설정에 마지막 맵 파일 경로 저장
PUB.setting.LastMapFile = filePath;