// Lets the user choose a Marker by specifying an ID. public override void OnInspectorGUI() { EditorGUIUtility.LookLikeInspector(); DrawDefaultInspector(); MarkerBehaviour mb = (MarkerBehaviour)target; IEditorMarkerBehaviour editorMb = mb; if (QCARUtilities.GetPrefabType(mb) == PrefabType.Prefab) { // Only allow initial values for prefabs. editorMb.SetMarkerID(-1); EditorGUILayout.IntField("Marker ID", editorMb.MarkerID); EditorGUILayout.Toggle("Preserve child size", editorMb.PreserveChildSize); } else { int newMarkerID = EditorGUILayout.IntField("Marker ID", editorMb.MarkerID); if (newMarkerID < 0) { newMarkerID = 0; } else if (newMarkerID >= QCARUtilities.GlobalVars.MAX_NUM_FRAME_MARKERS) { newMarkerID = QCARUtilities.GlobalVars.MAX_NUM_FRAME_MARKERS - 1; } if (newMarkerID != editorMb.MarkerID) { editorMb.SetMarkerID(newMarkerID); editorMb.SetNameForTrackable("FrameMarker" + newMarkerID); } editorMb.SetPreserveChildSize(EditorGUILayout.Toggle("Preserve child size", editorMb.PreserveChildSize)); } if (GUI.changed) { EditorUtility.SetDirty(mb); SceneManager.Instance.SceneUpdated(); } }
public override void OnInspectorGUI() { EditorGUIUtility.LookLikeInspector(); base.DrawDefaultInspector(); MarkerAbstractBehaviour target = (MarkerAbstractBehaviour)base.target; IEditorMarkerBehaviour behaviour2 = target; if (QCARUtilities.GetPrefabType(target) == PrefabType.Prefab) { behaviour2.SetMarkerID(-1); EditorGUILayout.IntField("Marker ID", behaviour2.MarkerID, new GUILayoutOption[0]); EditorGUILayout.Toggle("Preserve child size", behaviour2.PreserveChildSize, new GUILayoutOption[0]); } else { int markerID = EditorGUILayout.IntField("Marker ID", behaviour2.MarkerID, new GUILayoutOption[0]); if (markerID < 0) { markerID = 0; } else if (markerID >= 0x200) { markerID = 0x1ff; } if (markerID != behaviour2.MarkerID) { behaviour2.SetMarkerID(markerID); behaviour2.SetNameForTrackable("FrameMarker" + markerID); } behaviour2.SetPreserveChildSize(EditorGUILayout.Toggle("Preserve child size", behaviour2.PreserveChildSize, new GUILayoutOption[0])); } if (GUI.changed) { EditorUtility.SetDirty(target); SceneManager.Instance.SceneUpdated(); } }