public void DrawDebug() { if (_drawBounds && Bounds != null) { GizmoUtility.DrawRectangle(Bounds.ToRectInt(), Color.cyan); } if (_drawCells && Cells != null) { Cells.ForEach(x => { switch (x.Type) { case MapNodeType.Default: { GizmoUtility.DrawRectangle(x.Cell, Color.black); } break; case MapNodeType.Room: { if (x.Lockable) { GizmoUtility.DrawRectangle(x.Cell, Color.green); } else { GizmoUtility.DrawRectangle(x.Cell, Color.red); } } break; case MapNodeType.Corridor: { GizmoUtility.DrawRectangle(x.Cell, Color.blue); } break; default: break; } }); ChokePoints.ForEach(x => { GizmoUtility.DrawRectangle(x.ToRectInt(), Color.magenta); }); } if (_drawDelaunay && DelaunayGraph != null) { DelaunayGraph.ForEach(x => { GizmoUtility.DrawLine(x, Color.cyan); }); } if (_drawGabriel && GabrielGraph != null) { GabrielGraph.ForEach(x => { GizmoUtility.DrawLine(x, Color.magenta); }); } if (_drawEMST && EMSTGraph != null) { EMSTGraph.ForEach(x => { GizmoUtility.DrawLine(x, Color.cyan); }); } if (_drawLayout && LayoutGraph != null) { LayoutGraph.ForEach(x => { GizmoUtility.DrawLine(x, Color.magenta); }); if (StartToGoalPath != null) { StartToGoalPath.ForEach(x => { GizmoUtility.DrawLine(x, new Color(159 / 255.0f, 90 / 255.0f, 253 / 255.0f, 1)); }); } } if (_drawCorridors && CorridorGraph != null) { CorridorGraph.ForEach(x => { GizmoUtility.DrawLine(x, Color.red); }); } }