Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions Editor/MenuActions/Geometry/BevelEdges.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,16 @@
PreviewActionManager.UpdatePreview();
}
});

System.Action onDelayedPreviewChanged = () =>
{
floatField.isDelayed = PreviewActionManager.delayedPreview;
};
PreviewActionManager.delayedPreviewChanged += onDelayedPreviewChanged;
root.RegisterCallback<DetachFromPanelEvent>(evt =>
{
PreviewActionManager.delayedPreviewChanged -= onDelayedPreviewChanged;
});

Check warning on line 73 in Editor/MenuActions/Geometry/BevelEdges.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/BevelEdges.cs#L64-L73

Added lines #L64 - L73 were not covered by tests
root.Add(floatField);

return root;
Expand Down
10 changes: 10 additions & 0 deletions Editor/MenuActions/Geometry/ExtrudeEdges.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@
floatField.tooltip = "Extrude Amount determines how far an edge will be moved along it's normal when extruding. This value can be negative.";
floatField.SetValueWithoutNotify(m_ExtrudeEdgeDistance);
floatField.RegisterCallback<ChangeEvent<float>>(OnExtrudeChanged);

System.Action onDelayedPreviewChanged = () =>
{
floatField.isDelayed = PreviewActionManager.delayedPreview;
};
PreviewActionManager.delayedPreviewChanged += onDelayedPreviewChanged;
root.RegisterCallback<DetachFromPanelEvent>(evt =>
{
PreviewActionManager.delayedPreviewChanged -= onDelayedPreviewChanged;
});

Check warning on line 65 in Editor/MenuActions/Geometry/ExtrudeEdges.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/ExtrudeEdges.cs#L57-L65

Added lines #L57 - L65 were not covered by tests
root.Add(floatField);

return root;
Expand Down
10 changes: 10 additions & 0 deletions Editor/MenuActions/Geometry/ExtrudeFaces.cs
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,16 @@
});
root.Add(distanceField);

System.Action onDelayedPreviewChanged = () =>
{
distanceField.isDelayed = PreviewActionManager.delayedPreview;
};
PreviewActionManager.delayedPreviewChanged += onDelayedPreviewChanged;
root.RegisterCallback<DetachFromPanelEvent>(evt =>
{
PreviewActionManager.delayedPreviewChanged -= onDelayedPreviewChanged;
});

Check warning on line 118 in Editor/MenuActions/Geometry/ExtrudeFaces.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/ExtrudeFaces.cs#L109-L118

Added lines #L109 - L118 were not covered by tests
return root;
}

Expand Down
17 changes: 13 additions & 4 deletions Editor/MenuActions/Geometry/OffsetElements.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@

var spaceField = new EnumField("Coordinate Space", coord);
root.Add(spaceField);
spaceField.RegisterCallback<ChangeEvent<string>>(evt =>
spaceField.RegisterCallback<ChangeEvent<Enum>>(evt =>

Check warning on line 54 in Editor/MenuActions/Geometry/OffsetElements.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/OffsetElements.cs#L54

Added line #L54 was not covered by tests
{
Enum.TryParse(evt.newValue, out CoordinateSpace newValue);
CoordinateSpace newValue = (CoordinateSpace)evt.newValue;

Check warning on line 56 in Editor/MenuActions/Geometry/OffsetElements.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/OffsetElements.cs#L56

Added line #L56 was not covered by tests
if (s_CoordinateSpace.value == newValue)
return;
s_CoordinateSpace.SetValue(newValue);
Expand All @@ -62,15 +62,24 @@

var distField = new Vector3Field("Translate");
distField.SetValueWithoutNotify(dist);
if(PreviewActionManager.delayedPreview)
distField.Query<FloatField>().ForEach(ff => ff.isDelayed = true);
distField.Query<FloatField>().ForEach(ff => ff.isDelayed = PreviewActionManager.delayedPreview);

Check warning on line 65 in Editor/MenuActions/Geometry/OffsetElements.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/OffsetElements.cs#L65

Added line #L65 was not covered by tests
root.Add(distField);
distField.RegisterCallback<ChangeEvent<Vector3>>(evt =>
{
s_Translation.SetValue(evt.newValue, true);
PreviewActionManager.UpdatePreview();
});

Action onDelayedPreviewChanged = () =>
{
distField.Query<FloatField>().ForEach(ff => ff.isDelayed = PreviewActionManager.delayedPreview);
};
PreviewActionManager.delayedPreviewChanged += onDelayedPreviewChanged;
root.RegisterCallback<DetachFromPanelEvent>(evt =>
{
PreviewActionManager.delayedPreviewChanged -= onDelayedPreviewChanged;
});

Check warning on line 81 in Editor/MenuActions/Geometry/OffsetElements.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/OffsetElements.cs#L73-L81

Added lines #L73 - L81 were not covered by tests

return root;
}

Expand Down
9 changes: 9 additions & 0 deletions Editor/MenuActions/Geometry/SubdivideEdges.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,15 @@
m_SubdivCount.tooltip = tooltip;
m_SubdivCount.RegisterCallback<ChangeEvent<int>>(OnCountChanged);
m_SubdivCount.style.width = 40;
Action onDelayedPreviewChanged = () =>
{
m_SubdivCount.isDelayed = PreviewActionManager.delayedPreview;
};
PreviewActionManager.delayedPreviewChanged += onDelayedPreviewChanged;
root.RegisterCallback<DetachFromPanelEvent>(evt =>
{
PreviewActionManager.delayedPreviewChanged -= onDelayedPreviewChanged;
});

Check warning on line 94 in Editor/MenuActions/Geometry/SubdivideEdges.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/SubdivideEdges.cs#L86-L94

Added lines #L86 - L94 were not covered by tests
line.Add(foldout);
line.Add(m_Slider);
line.Add(m_SubdivCount);
Expand Down
9 changes: 9 additions & 0 deletions Editor/MenuActions/Geometry/WeldVertices.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,15 @@
m_WeldDistance.SetValue(evt.newValue);
PreviewActionManager.UpdatePreview();
});
Action onDelayedPreviewChanged = () =>
{
floatField.isDelayed = PreviewActionManager.delayedPreview;
};
PreviewActionManager.delayedPreviewChanged += onDelayedPreviewChanged;
root.RegisterCallback<DetachFromPanelEvent>(evt =>
{
PreviewActionManager.delayedPreviewChanged -= onDelayedPreviewChanged;
});

Check warning on line 80 in Editor/MenuActions/Geometry/WeldVertices.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Geometry/WeldVertices.cs#L72-L80

Added lines #L72 - L80 were not covered by tests
root.Add(floatField);
return root;
}
Expand Down
10 changes: 9 additions & 1 deletion Editor/MenuActions/Selection/GrowSelection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,15 @@
m_GrowSelectionAngleIterative.SetValue(evt.newValue);
PreviewActionManager.UpdatePreview();
});

System.Action onDelayedPreviewChanged = () =>
{
floatField.isDelayed = PreviewActionManager.delayedPreview;
};
PreviewActionManager.delayedPreviewChanged += onDelayedPreviewChanged;
root.RegisterCallback<DetachFromPanelEvent>(evt =>
{
PreviewActionManager.delayedPreviewChanged -= onDelayedPreviewChanged;
});

Check warning on line 96 in Editor/MenuActions/Selection/GrowSelection.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/MenuActions/Selection/GrowSelection.cs#L88-L96

Added lines #L88 - L96 were not covered by tests
return root;
}

Expand Down
12 changes: 5 additions & 7 deletions Editor/Overlays/ActionSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
[UserSetting("Mesh Editing", "Auto Update Action Preview", "Automatically update the action preview, without delay. This operation is costly and can cause lag when working with large selections.")]
static Pref<bool> s_AutoUpdatePreview = new Pref<bool>("editor.autoUpdatePreview", false, SettingsScope.Project);
internal static bool delayedPreview => !s_AutoUpdatePreview.value;
public static event Action delayedPreviewChanged;

MenuAction m_CurrentAction;

Expand Down Expand Up @@ -59,8 +60,10 @@
ProBuilderEditor.selectModeChanged += SelectModeChanged;

SceneView.AddOverlayToActiveView(m_Overlay = new MenuActionSettingsOverlay());
// Hack to ensure that the overlay is displayed in the sceneview even when the overlay was already displayed before

Check warning on line 63 in Editor/Overlays/ActionSettings.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/Overlays/ActionSettings.cs#L63

Added line #L63 was not covered by tests
// Doing only displayed = true is not adding the overlay as it should in the view, only changing the display status is
m_Overlay.displayed = false;

Check warning on line 65 in Editor/Overlays/ActionSettings.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/Overlays/ActionSettings.cs#L65

Added line #L65 was not covered by tests
m_Overlay.displayed = true;
SceneView.RepaintAll();
}

public void Dispose()
Expand Down Expand Up @@ -104,12 +107,7 @@

s_AutoUpdatePreview.value = value;

if (s_Instance == null)
return;

SceneView.RemoveOverlayFromActiveView(s_Instance.m_Overlay);
SceneView.AddOverlayToActiveView(s_Instance.m_Overlay = new MenuActionSettingsOverlay());
s_Instance.m_Overlay.displayed = true;
delayedPreviewChanged?.Invoke();

Check warning on line 110 in Editor/Overlays/ActionSettings.cs

View check run for this annotation

Codecov GitHub.com / codecov/patch

Editor/Overlays/ActionSettings.cs#L110

Added line #L110 was not covered by tests
}

internal static void EndPreview()
Expand Down