Beispiel #1
0
 public override void OnInspectorGUI()
 {
     base.DrawDefaultInspector();
     VuforiaUtilities.DisableGuiForPrefab(base.target);
     if (ConfigDataManager.Instance.NumConfigDataObjects > 1)
     {
         bool flag = false;
         using (this.mSerializedObject.Edit())
         {
             flag = VuforiaUtilities.DrawDatasetTrackableInspector(this.mSerializedObject, false, new Func <ConfigData, string[]>(MultiTargetEditor.GetTrackableNames), "Multi Target");
             VuforiaUtilities.DrawTrackableOptions(this.mSerializedObject, false, true, true);
         }
         if (flag)
         {
             UnityEngine.Object[] targetObjects = this.mSerializedObject.SerializedObject.targetObjects;
             for (int i = 0; i < targetObjects.Length; i++)
             {
                 TrackableAccessor trackableAccessor = AccessorFactory.Create((MultiTargetAbstractBehaviour)targetObjects[i]);
                 if (trackableAccessor != null)
                 {
                     trackableAccessor.ApplyDataSetProperties();
                 }
             }
             return;
         }
     }
     else
     {
         VuforiaUtilities.DrawMissingTargetsButton();
     }
 }
 private void DrawPredefinedTargetInspectorUI(bool typeChanged)
 {
     if (ConfigDataManager.Instance.NumConfigDataObjects > 1)
     {
         if (VuforiaUtilities.DrawDatasetTrackableInspector(this.mSerializedObject, typeChanged, new Func <ConfigData, string[]>(ImageTargetEditor.GetTrackableNames), "Image Target") | typeChanged)
         {
             if (base.serializedObject.isEditingMultipleObjects)
             {
                 this.mSerializedObject.SerializedObject.ApplyModifiedPropertiesWithoutUndo();
                 UnityEngine.Object[] targetObjects = this.mSerializedObject.SerializedObject.targetObjects;
                 for (int i = 0; i < targetObjects.Length; i++)
                 {
                     ImageTargetEditor.UpdateDataSetAppearance(new SerializedImageTarget(new SerializedObject(targetObjects[i])));
                 }
             }
             else
             {
                 ImageTargetEditor.UpdateDataSetAppearance(this.mSerializedObject);
             }
         }
         this.mSerializedObject.WidthProperty.FixApproximatelyEqualFloatValues();
         EditorGUILayout.PropertyField(this.mSerializedObject.WidthProperty, new GUIContent("Width"), new GUILayoutOption[0]);
         this.mSerializedObject.HeightProperty.FixApproximatelyEqualFloatValues();
         EditorGUILayout.PropertyField(this.mSerializedObject.HeightProperty, new GUIContent("Height"), new GUILayoutOption[0]);
         VuforiaUtilities.DrawTrackableOptions(this.mSerializedObject, true, true, true);
         return;
     }
     if (typeChanged)
     {
         ImageTargetEditor.UpdateMaterial(this.mSerializedObject);
     }
     VuforiaUtilities.DrawMissingTargetsButton();
 }
 public override void OnInspectorGUI()
 {
     base.DrawDefaultInspector();
     VuforiaUtilities.DisableGuiForPrefab(base.target);
     if (ConfigDataManager.Instance.NumConfigDataObjects > 1)
     {
         using (this.mSerializedObject.Edit())
         {
             if (VuforiaUtilities.DrawDatasetTrackableInspector(this.mSerializedObject, false, new Func <ConfigData, string[]>(VuMarkEditor.GetTrackableNames), "VuMark Template"))
             {
                 ConfigData.VuMarkData vuMarkData;
                 ConfigDataManager.Instance.GetConfigData(this.mSerializedObject.GetDataSetName()).GetVuMarkTarget(this.mSerializedObject.TrackableName, out vuMarkData);
                 VuMarkEditor.UpdateDataSetInfo(this.mSerializedObject, vuMarkData);
                 VuMarkEditor.UpdateAspectRatio(this.mSerializedObject, vuMarkData.size);
                 VuMarkEditor.UpdateScale(this.mSerializedObject, vuMarkData.size);
                 VuMarkEditor.UpdateMaterial(this.mSerializedObject);
             }
             this.mSerializedObject.WidthProperty.FixApproximatelyEqualFloatValues();
             EditorGUILayout.PropertyField(this.mSerializedObject.WidthProperty, new GUIContent("Width"), new GUILayoutOption[0]);
             this.mSerializedObject.HeightProperty.FixApproximatelyEqualFloatValues();
             EditorGUILayout.PropertyField(this.mSerializedObject.HeightProperty, new GUIContent("Height"), new GUILayoutOption[0]);
             EditorGUILayout.LabelField(new GUIContent("ID Type"), new GUIContent(this.mSerializedObject.IdType.ToString()), new GUILayoutOption[0]);
             EditorGUILayout.LabelField(new GUIContent("ID Length"), new GUIContent(this.mSerializedObject.IdLength.ToString()), new GUILayoutOption[0]);
             string text = "Define whether the VuMark has a changing background per instance,signaling to SDK how to track it. \nIf enabled, the SDK tracks this VuMark based on what is seen by the camera and not assume the template background image is useful for tracking because the background can change per instance. \nIf disabled, the SDK tracks this VuMark based on the template used to create the dataset. This is the default behavior.";
             EditorGUILayout.PropertyField(this.mSerializedObject.TrackingFromRuntimeAppearanceProperty, new GUIContent("Track From Appearance", text), new GUILayoutOption[0]);
             VuforiaUtilities.DrawTrackableOptions(this.mSerializedObject, true, true, false);
             return;
         }
     }
     VuforiaUtilities.DrawMissingTargetsButton();
 }
 public override void OnInspectorGUI()
 {
     base.DrawDefaultInspector();
     VuforiaUtilities.DisableGuiForPrefab(base.target);
     if (ConfigDataManager.Instance.NumConfigDataObjects > 1)
     {
         using (this.mSerializedObject.Edit())
         {
             bool flag = VuforiaUtilities.DrawDatasetTrackableInspector(this.mSerializedObject, false, new Func <ConfigData, string[]>(ObjectTargetEditor.GetTrackableNames), "Object Target");
             this.mSerializedObject.LengthProperty.FixApproximatelyEqualFloatValues();
             EditorGUILayout.PropertyField(this.mSerializedObject.LengthProperty, new GUIContent("Length"), new GUILayoutOption[0]);
             this.mSerializedObject.WidthProperty.FixApproximatelyEqualFloatValues();
             EditorGUILayout.PropertyField(this.mSerializedObject.WidthProperty, new GUIContent("Width"), new GUILayoutOption[0]);
             this.mSerializedObject.HeightProperty.FixApproximatelyEqualFloatValues();
             EditorGUILayout.PropertyField(this.mSerializedObject.HeightProperty, new GUIContent("Height"), new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.mSerializedObject.ShowBoundingBoxProperty, new GUIContent("Show Bounding Box"), new GUILayoutOption[0]);
             VuforiaUtilities.DrawTrackableOptions(this.mSerializedObject, true, true, true);
             if (flag)
             {
                 ConfigData.ObjectTargetData objectTargetData;
                 ConfigDataManager.Instance.GetConfigData(this.mSerializedObject.GetDataSetName()).GetObjectTarget(this.mSerializedObject.TrackableName, out objectTargetData);
                 ObjectTargetEditor.UpdateAspectRatio(this.mSerializedObject, objectTargetData.size);
                 ObjectTargetEditor.UpdateBoundingBox(this.mSerializedObject, objectTargetData.bboxMin, objectTargetData.bboxMax);
                 ObjectTargetEditor.UpdateScale(this.mSerializedObject, objectTargetData.size);
                 ObjectTargetEditor.UpdatePreviewImage(this.mSerializedObject, objectTargetData.targetID);
             }
             if (this.mSerializedObject.PreviewImage)
             {
                 GUILayout.Label(this.mSerializedObject.PreviewImage, new GUILayoutOption[]
                 {
                     GUILayout.Width(512f)
                 });
             }
             return;
         }
     }
     VuforiaUtilities.DrawMissingTargetsButton();
 }
 public override void OnInspectorGUI()
 {
     base.DrawDefaultInspector();
     VuforiaUtilities.DisableGuiForPrefab(base.target);
     if (ConfigDataManager.Instance.NumConfigDataObjects > 1)
     {
         using (this.mSerializedObject.Edit())
         {
             if (VuforiaUtilities.DrawDatasetTrackableInspector(this.mSerializedObject, false, new Func <ConfigData, string[]>(CylinderTargetEditor.GetTrackableNames), "Cylinder Target"))
             {
                 ConfigData.CylinderTargetData cylinderTargetData;
                 ConfigDataManager.Instance.GetConfigData(this.mSerializedObject.GetDataSetName()).GetCylinderTarget(this.mSerializedObject.TrackableName, out cylinderTargetData);
                 CylinderTargetEditor.UpdateAspectRatio(this.mSerializedObject, cylinderTargetData);
                 CylinderTargetEditor.UpdateScale(this.mSerializedObject, cylinderTargetData.sideLength);
             }
             EditorGUILayout.PropertyField(this.mSerializedObject.SideLengthProperty, new GUIContent("Side length"), new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.mSerializedObject.TopDiameterProperty, new GUIContent("Top diameter"), new GUILayoutOption[0]);
             EditorGUILayout.PropertyField(this.mSerializedObject.BottomDiameterProperty, new GUIContent("Bottom diameter"), new GUILayoutOption[0]);
             VuforiaUtilities.DrawTrackableOptions(this.mSerializedObject, true, true, true);
             return;
         }
     }
     VuforiaUtilities.DrawMissingTargetsButton();
 }