fix: 맵 에디터 연결 버그 수정 및 기능 개선
주요 변경사항: - ConnectedMapNodes 속성 추가로 런타임 객체 참조 지원 - 이미지 에디터 UI 개선 (ImageEditorCanvas 추가) - 연결 생성 버그 수정: 양방향 연결 생성 - 연결 삭제 버그 수정: 양방향 모두 제거 - CleanupDuplicateConnections 비활성화 (단방향 변환 버그) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -101,11 +101,10 @@ namespace AGVNavigationCore.Controls
|
||||
|
||||
foreach (var node in _nodes)
|
||||
{
|
||||
if (node.ConnectedNodes == null) continue;
|
||||
if (node.ConnectedMapNodes == null) continue;
|
||||
|
||||
foreach (var connectedNodeId in node.ConnectedNodes)
|
||||
foreach (var targetNode in node.ConnectedMapNodes)
|
||||
{
|
||||
var targetNode = _nodes.FirstOrDefault(n => n.NodeId == connectedNodeId);
|
||||
if (targetNode == null) continue;
|
||||
|
||||
DrawConnection(g, node, targetNode);
|
||||
@@ -302,7 +301,7 @@ namespace AGVNavigationCore.Controls
|
||||
if (node == null) continue;
|
||||
|
||||
// 교차로 판정: 3개 이상의 노드가 연결된 경우
|
||||
if (node.ConnectedNodes != null && node.ConnectedNodes.Count >= JUNCTION_CONNECTIONS)
|
||||
if (node.ConnectedMapNodes != null && node.ConnectedMapNodes.Count >= JUNCTION_CONNECTIONS)
|
||||
{
|
||||
DrawJunctionHighlight(g, node);
|
||||
}
|
||||
|
||||
@@ -567,15 +567,9 @@ namespace AGVNavigationCore.Controls
|
||||
toNode.ConnectedNodes.Contains(fromNode.NodeId))
|
||||
return;
|
||||
|
||||
// 단일 연결 생성 (사전순으로 정렬하여 일관성 유지)
|
||||
if (string.Compare(fromNode.NodeId, toNode.NodeId, StringComparison.Ordinal) < 0)
|
||||
{
|
||||
fromNode.AddConnection(toNode.NodeId);
|
||||
}
|
||||
else
|
||||
{
|
||||
toNode.AddConnection(fromNode.NodeId);
|
||||
}
|
||||
// 양방향 연결 생성 (AGV가 양쪽 방향으로 이동 가능하도록)
|
||||
fromNode.AddConnection(toNode.NodeId);
|
||||
toNode.AddConnection(fromNode.NodeId);
|
||||
|
||||
MapChanged?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user