in Assets/MRTK/Core/Inspectors/Utilities/Lines/DataProviders/BaseLineDataProviderInspector.cs [119:272]
public override void OnInspectorGUI()
{
serializedObject.Update();
editorSettingsFoldout = EditorGUILayout.Foldout(editorSettingsFoldout, EditorSettingsContent, true);
SessionState.SetBool(EditorSettingsFoldoutKey, editorSettingsFoldout);
if (editorSettingsFoldout)
{
using (new EditorGUI.IndentLevelScope())
{
EditorGUI.BeginChangeCheck();
using (new EditorGUI.DisabledGroupScope(!RenderLinePreview))
{
EditorGUI.BeginChangeCheck();
LinePreviewResolution = EditorGUILayout.IntSlider("Preview Resolution", LinePreviewResolution, 2, 128);
if (EditorGUI.EndChangeCheck())
{
SessionState.SetInt(LinePreviewResolutionKey, LinePreviewResolution);
}
EditorGUI.BeginChangeCheck();
DrawLinePoints = EditorGUILayout.Toggle("Draw Line Points", DrawLinePoints);
if (EditorGUI.EndChangeCheck())
{
SessionState.SetBool(DrawLinePointsKey, DrawLinePoints);
}
}
EditorGUI.BeginChangeCheck();
DrawLineRotations = EditorGUILayout.Toggle("Draw Line Rotations", DrawLineRotations);
if (EditorGUI.EndChangeCheck())
{
SessionState.SetBool(DrawLineRotationsKey, DrawLineRotations);
}
if (DrawLineRotations)
{
EditorGUI.BeginChangeCheck();
RotationArrowLength = EditorGUILayout.Slider("Rotation Arrow Length", RotationArrowLength, 0.01f, 5f);
if (EditorGUI.EndChangeCheck())
{
SessionState.SetFloat(RotationArrowLengthKey, RotationArrowLength);
}
}
EditorGUI.BeginChangeCheck();
DrawLineManualUpVectors = EditorGUILayout.Toggle("Draw Manual Up Vectors", DrawLineManualUpVectors);
if (EditorGUI.EndChangeCheck())
{
SessionState.SetBool(DrawLineManualUpVectorsKey, DrawLineManualUpVectors);
}
if (DrawLineManualUpVectors)
{
EditorGUI.BeginChangeCheck();
ManualUpVectorLength = EditorGUILayout.Slider("Manual Up Vector Length", ManualUpVectorLength, 1f, 10f);
if (EditorGUI.EndChangeCheck())
{
SessionState.SetFloat(ManualUpVectorLengthKey, ManualUpVectorLength);
}
}
if (EditorGUI.EndChangeCheck())
{
SceneView.RepaintAll();
}
}
}
basicSettingsFoldout = EditorGUILayout.Foldout(basicSettingsFoldout, BasicSettingsContent, true);
SessionState.SetBool(BasicSettingsFoldoutKey, basicSettingsFoldout);
if (basicSettingsFoldout)
{
using (new EditorGUI.IndentLevelScope())
{
EditorGUILayout.PropertyField(transformMode);
EditorGUILayout.PropertyField(customLineTransform);
EditorGUILayout.PropertyField(lineStartClamp);
EditorGUILayout.PropertyField(lineEndClamp);
EditorGUILayout.PropertyField(loops);
}
}
rotationSettingsFoldout = EditorGUILayout.Foldout(rotationSettingsFoldout, RotationSettingsContent, true);
SessionState.SetBool(RotationSettingsFoldoutKey, rotationSettingsFoldout);
if (rotationSettingsFoldout)
{
using (new EditorGUI.IndentLevelScope())
{
EditorGUILayout.PropertyField(rotationType);
EditorGUILayout.PropertyField(flipUpVector);
EditorGUILayout.PropertyField(originOffset);
EditorGUILayout.PropertyField(velocitySearchRange);
if (DrawLineManualUpVectors)
{
manualUpVectorList.DoLayoutList();
if (GUILayout.Button("Normalize Up Vectors"))
{
for (int i = 0; i < manualUpVectors.arraySize; i++)
{
var manualUpVectorProperty = manualUpVectors.GetArrayElementAtIndex(i);
Vector3 upVector = manualUpVectorProperty.vector3Value;
if (upVector == Vector3.zero)
{
upVector = Vector3.up;
}
manualUpVectorProperty.vector3Value = upVector.normalized;
}
}
EditorGUILayout.PropertyField(manualUpVectorBlend);
}
}
}
distortionSettingsFoldout = EditorGUILayout.Foldout(distortionSettingsFoldout, DistortionSettingsContent, true);
SessionState.SetBool(DistortionSettingsFoldoutKey, distortionSettingsFoldout);
if (distortionSettingsFoldout)
{
if (distorters.arraySize <= 0)
{
EditorGUILayout.HelpBox("No distorters attached to this line.\nTry adding a distortion component.", MessageType.Info);
}
using (new EditorGUI.IndentLevelScope())
{
EditorGUILayout.PropertyField(distortionEnabled);
EditorGUILayout.PropertyField(distortionMode);
EditorGUILayout.PropertyField(distortionStrength);
EditorGUILayout.PropertyField(uniformDistortionStrength);
}
}
serializedObject.ApplyModifiedProperties();
}