private static void CheckMesh(SerializedVuMark serializedObject)
 {
     using (List <VuMarkAbstractBehaviour> .Enumerator enumerator = serializedObject.GetBehaviours().GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             GameObject gameObject = enumerator.Current.gameObject;
             MeshFilter component  = gameObject.GetComponent <MeshFilter>();
             if (component == null || component.sharedMesh == null)
             {
                 VuMarkEditor.UpdateMesh(gameObject, serializedObject.BoundingBox, serializedObject.Origin);
             }
         }
     }
     if (!serializedObject.PreviewImageProperty.hasMultipleDifferentValues)
     {
         VuMarkEditor.UpdateMaterial(serializedObject);
         return;
     }
     UnityEngine.Object[] targetObjects = serializedObject.SerializedObject.targetObjects;
     for (int i = 0; i < targetObjects.Length; i++)
     {
         VuMarkEditor.UpdateMaterial(new SerializedVuMark(new SerializedObject(targetObjects[i])));
     }
 }
 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();
 }
Example #3
0
 public override void ApplyDataSetAppearance()
 {
     if (VuforiaUtilities.GetPrefabType(this.mTarget) == PrefabType.Prefab)
     {
         return;
     }
     using (this.mSerializedObject.Edit())
     {
         ConfigData.VuMarkData vuMarkData;
         if (this.TrackableInDataSet(this.mSerializedObject.TrackableName, this.mSerializedObject.GetDataSetName()))
         {
             ConfigDataManager.Instance.GetConfigData(this.mSerializedObject.GetDataSetName()).GetVuMarkTarget(this.mSerializedObject.TrackableName, out vuMarkData);
         }
         else
         {
             ConfigDataManager.Instance.GetConfigData("--- EMPTY ---").GetVuMarkTarget("--- EMPTY ---", out vuMarkData);
             this.mSerializedObject.DataSetPath   = "--- EMPTY ---";
             this.mSerializedObject.TrackableName = "--- EMPTY ---";
         }
         VuMarkEditor.UpdateDataSetInfo(this.mSerializedObject, vuMarkData);
         VuMarkEditor.UpdateAspectRatio(this.mSerializedObject, vuMarkData.size);
         VuMarkEditor.UpdateMaterial(this.mSerializedObject);
     }
 }