public static void UpdateEditMode(SceneView sceneView) { try { Vector3 minimumPoint = isLocalCoords ? targetTran.localPosition : targetTran.position; Vector3 maximumPoint = minimumPoint; ConstraintCoord result = new ConstraintCoord(minEdditedP.floatValue, maxEdditedP.floatValue); if (isLocalCoords) { result.TransformToWorld(targetTran); } minimumPoint[currAxis] = result.min; maximumPoint[currAxis] = result.max; Vector2 direction = Vector2.zero; direction[currAxis] = 1.0f; result.min = RoundValue(Handles.Slider(minimumPoint, -direction)[currAxis]); result.max = RoundValue(Handles.Slider(maximumPoint, direction)[currAxis]); if (currAxis == 1) // if YAxis { Handles.DrawLine(minimumPoint + Vector3.right, minimumPoint + Vector3.left); Handles.DrawLine(maximumPoint + Vector3.right, maximumPoint + Vector3.left); } else // Equal for XAxis and ZAxis { Handles.DrawLine(minimumPoint + Vector3.up, minimumPoint + Vector3.down); Handles.DrawLine(maximumPoint + Vector3.up, maximumPoint + Vector3.down); } Handles.color = Color.magenta; Handles.DrawLine(minimumPoint, maximumPoint); if (isLocalCoords) { result.TransformToLocal(targetTran); } minEdditedP.floatValue = result.min; maxEdditedP.floatValue = result.max; maxEdditedP.serializedObject.ApplyModifiedProperties(); } catch { StopEdditMode(); } }
public ConstraintCoord2D(ConstraintCoord xAxis, ConstraintCoord yAxis) { this.xAxis = xAxis; this.yAxis = yAxis; }
public ConstraintCoord2D(float xMin, float xMax, float yMin, float yMax) { xAxis = new ConstraintCoord(xMin, xMax); yAxis = new ConstraintCoord(yMin, yMax); }