private void DrawPredefinedTargetInsprectorUI(IEditorImageTargetBehaviour itb, bool typeChanged) { if (typeChanged) { UpdateMaterial(itb); } if (ConfigDataManager.Instance.NumConfigDataObjects > 1) { string[] configDataNames = new string[ConfigDataManager.Instance.NumConfigDataObjects]; ConfigDataManager.Instance.GetConfigDataNames(configDataNames); int indexFromString = QCARUtilities.GetIndexFromString(itb.DataSetName, configDataNames); if (indexFromString < 0) { indexFromString = 0; } int index = EditorGUILayout.Popup("Data Set", indexFromString, configDataNames, new GUILayoutOption[0]); string dataSetName = configDataNames[index]; ConfigData configData = ConfigDataManager.Instance.GetConfigData(dataSetName); string[] arrayToFill = new string[configData.NumImageTargets]; configData.CopyImageTargetNames(arrayToFill, 0); int selectedIndex = QCARUtilities.GetIndexFromString(itb.TrackableName, arrayToFill); if (selectedIndex < 0) { selectedIndex = 0; } if (index != indexFromString) { selectedIndex = 0; } int num5 = EditorGUILayout.Popup("Image Target", selectedIndex, arrayToFill, new GUILayoutOption[0]); float width = EditorGUILayout.FloatField("Width", itb.GetSize().x, new GUILayoutOption[0]); if (width != itb.GetSize().x) { itb.SetWidth(width); } float height = EditorGUILayout.FloatField("Height ", itb.GetSize().y, new GUILayoutOption[0]); if (height != itb.GetSize().y) { itb.SetHeight(height); } itb.SetExtendedTracking(EditorGUILayout.Toggle("Extended tracking", itb.ExtendedTracking, new GUILayoutOption[0])); itb.SetPreserveChildSize(EditorGUILayout.Toggle("Preserve child size", itb.PreserveChildSize, new GUILayoutOption[0])); if ((arrayToFill.Length > 0) && (((index != indexFromString) || (num5 != selectedIndex)) || typeChanged)) { ConfigData.ImageTargetData data2; itb.SetDataSetPath("QCAR/" + configDataNames[index] + ".xml"); string name = arrayToFill[num5]; itb.SetNameForTrackable(name); configData.GetImageTarget(itb.TrackableName, out data2); UpdateAspectRatio(itb, data2.size); UpdateScale(itb, data2.size); UpdateMaterial(itb); } } else if (GUILayout.Button("No targets defined. Press here for target creation!", new GUILayoutOption[0])) { SceneManager.Instance.GoToTargetManagerPage(); } }
private void DrawCloudRecoTargetInspectorUI(IEditorImageTargetBehaviour itb, bool typeChanged) { if (typeChanged) { ConfigData.ImageTargetData data = QCARUtilities.CreateDefaultImageTarget(); itb.SetNameForTrackable(string.Empty); UpdateAspectRatio(itb, data.size); UpdateMaterial(itb); } itb.SetExtendedTracking(EditorGUILayout.Toggle("Extended tracking", itb.ExtendedTracking, new GUILayoutOption[0])); itb.SetPreserveChildSize(EditorGUILayout.Toggle("Preserve child size", itb.PreserveChildSize, new GUILayoutOption[0])); }
private void DrawUserDefinedTargetInspectorUI(IEditorImageTargetBehaviour itb, bool typeChanged) { if (typeChanged) { ConfigData.ImageTargetData data = QCARUtilities.CreateDefaultImageTarget(); itb.SetNameForTrackable(string.Empty); UpdateAspectRatio(itb, data.size); UpdateMaterial(itb); } if (itb.TrackableName.Length > 0x40) { EditorGUILayout.HelpBox("Target name must not exceed 64 character limit!", MessageType.Error); } itb.SetNameForTrackable(EditorGUILayout.TextField("Target Name", itb.TrackableName, new GUILayoutOption[0])); itb.SetExtendedTracking(EditorGUILayout.Toggle("Extended tracking", itb.ExtendedTracking, new GUILayoutOption[0])); itb.SetPreserveChildSize(EditorGUILayout.Toggle("Preserve child size", itb.PreserveChildSize, new GUILayoutOption[0])); }