AR Design
UBC EML collab with UBC SALA - visualizing IoT data in AR
SolverInBetweenEditor.cs
Go to the documentation of this file.
1 // Copyright (c) Microsoft Corporation. All rights reserved.
2 // Licensed under the MIT License. See LICENSE in the project root for license information.
3 
4 using UnityEditor;
5 
6 namespace HoloToolkit.Unity.UX
7 {
8  [CustomEditor(typeof(SolverInBetween))]
9  public class SolverInBetweenEditor : Editor
10  {
11  private SerializedProperty trackedObjectReferenceProperty;
12  private SerializedProperty transformTargetProperty;
13  private SolverInBetween solverInBetween;
14 
15  private static readonly string[] fieldsToExclude = new string[] { "m_Script" };
16 
17  private void OnEnable()
18  {
19  trackedObjectReferenceProperty = serializedObject.FindProperty("trackedObjectForSecondTransform");
20  transformTargetProperty = serializedObject.FindProperty("secondTransformOverride");
21 
22  solverInBetween = target as SolverInBetween;
23  }
24 
25  public override void OnInspectorGUI()
26  {
27  serializedObject.Update();
28 
29  EditorGUILayout.Space();
30 
31  EditorGUI.BeginChangeCheck();
32  EditorGUILayout.PropertyField(trackedObjectReferenceProperty);
33  bool trackedObjectChanged = EditorGUI.EndChangeCheck();
34 
35  EditorGUILayout.PropertyField(transformTargetProperty);
36 
37  DrawPropertiesExcluding(serializedObject, fieldsToExclude);
38 
39  serializedObject.ApplyModifiedProperties();
40 
41  if (trackedObjectChanged)
42  {
44  }
45  }
46  }
47 }
InBetween solver positions an object in-between two tracked transforms.
void AttachSecondTransformToNewTrackedObject()
This should only be called from the SolverInBetweenEditor to cause the secondary SolverHandler to rea...