diff --git a/CHANGELOG.md b/CHANGELOG.md index 22b6dba09..45708c2ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +### Changes +- PositionToolContext made public +- TextureToolContext made public +- MeshSelection.totalVertexCountOptimized made public +- CutTool made public + ### Fixed - [PBLD-240] Fixed a bug where buttons for "Create Cube" and "Create PolyShape" appeared incorrectly on Light theme. diff --git a/Editor/EditorCore/CutTool.cs b/Editor/EditorCore/CutTool.cs index 7f44d05fe..01b358830 100644 --- a/Editor/EditorCore/CutTool.cs +++ b/Editor/EditorCore/CutTool.cs @@ -19,7 +19,7 @@ namespace UnityEditor.ProBuilder { [EditorTool("Cut Tool", typeof(ProBuilderMesh), typeof(PositionToolContext))] - class CutTool : EditorTool + public class CutTool : EditorTool { ProBuilderMesh m_Mesh; diff --git a/Editor/EditorCore/MeshSelection.cs b/Editor/EditorCore/MeshSelection.cs index 39c1c977b..251e4089e 100644 --- a/Editor/EditorCore/MeshSelection.cs +++ b/Editor/EditorCore/MeshSelection.cs @@ -419,8 +419,11 @@ internal static bool Contains(ProBuilderMesh mesh) /// Gets the number of all selected vertices across the selected ProBuilder meshes, excluding coincident duplicates. /// public static int totalCommonVertexCount { get { CacheElementCounts(); return s_TotalCommonVertexCount; } } - - internal static int totalVertexCountOptimized { get { CacheElementCounts(); return s_TotalVertexCountCompiled; } } + + /// + /// Gets the number of all selected ProBuilder compiled mesh vertices. + /// + public static int totalVertexCountOptimized { get { CacheElementCounts(); return s_TotalVertexCountCompiled; } } /// /// Gets the sum of all selected ProBuilderMesh faces. diff --git a/Editor/EditorCore/ProBuilderToolsContexts.cs b/Editor/EditorCore/ProBuilderToolsContexts.cs index 99cfcc3c0..92a4a44e7 100644 --- a/Editor/EditorCore/ProBuilderToolsContexts.cs +++ b/Editor/EditorCore/ProBuilderToolsContexts.cs @@ -18,7 +18,7 @@ static class ProBuilderToolManager [Icon("Packages/com.unity.probuilder/Content/Icons/EditableMesh/EditMeshContext.png")] [EditorToolContext("ProBuilder", typeof(ProBuilderMesh))] - class PositionToolContext : EditorToolContext + public class PositionToolContext : EditorToolContext { internal class ProBuilderShortcutContext : IShortcutContext { @@ -407,7 +407,7 @@ static void SetColliderAction(MenuCommand command) } } - class TextureToolContext : EditorToolContext + public class TextureToolContext : EditorToolContext { ProBuilderEditor m_Editor; diff --git a/Editor/EditorCore/TextureMoveTool.cs b/Editor/EditorCore/TextureMoveTool.cs index 8228767e3..ece0c0051 100644 --- a/Editor/EditorCore/TextureMoveTool.cs +++ b/Editor/EditorCore/TextureMoveTool.cs @@ -39,7 +39,6 @@ protected override void DoToolGUI() { if (!isEditing) m_Position = Vector3.zero; - EditorHandleUtility.PushMatrix(); Handles.matrix = Matrix4x4.TRS(m_HandlePosition, m_HandleRotation, Vector3.one); @@ -48,22 +47,25 @@ protected override void DoToolGUI() Handles.color = Color.blue; + // Disable Snap for the individual handles. Snap is applied if movement is detected. + const float SnapFactor = 0.0f; + m_Position = Handles.Slider2D(m_Position, Vector3.forward, Vector3.right, Vector3.up, HandleUtility.GetHandleSize(m_Position) * .2f, Handles.RectangleHandleCap, - 0f, + SnapFactor, false); Handles.color = Color.green; - m_Position = Handles.Slider(m_Position, Vector3.up); + m_Position = Handles.Slider(m_Position, Vector3.up, HandleUtility.GetHandleSize(m_Position), Handles.ArrowHandleCap, SnapFactor); Handles.color = Color.red; - m_Position = Handles.Slider(m_Position, Vector3.right); + m_Position = Handles.Slider(m_Position, Vector3.right, HandleUtility.GetHandleSize(m_Position), Handles.ArrowHandleCap, SnapFactor); Handles.color = Color.white;