/// <summary> /// Draw image marker select selector toggle button. /// </summary> /// <param name="xPos">starting x position</param> /// <param name="yPos">starting y position</param> /// <param name="isActive">is the image marker currently selected</param> /// <param name="markerDefinition">marker definition to draw</param> /// <returns><c>True</c>> if the marker is selected.</returns> static bool DrawImageMarker(float xPos, float yPos, bool isActive, MarsMarkerDefinition markerDefinition) { var imageMarkerRect = new Rect(xPos, yPos, Styles.ImageMarkersSize, Styles.ImageMarkersSize); var markerSelectionRect = new Rect(imageMarkerRect.x - 2, imageMarkerRect.y - 2, imageMarkerRect.width + 4, imageMarkerRect.height + 2 + EditorGUIUtility.singleLineHeight); isActive = EditorGUI.Toggle(markerSelectionRect, isActive, EditorStyles.objectFieldThumb); if (markerDefinition.Texture) { GUI.DrawTexture(imageMarkerRect, markerDefinition.Texture); } else { EditorGUI.HelpBox(imageMarkerRect, "\n\n None ", MessageType.None); } using (new EditorGUI.DisabledScope(markerDefinition.Label == MarsMarkerLibrary.DefaultMarkerDefinitionLabel)) { GUI.Label(new Rect(xPos, yPos + Styles.ImageMarkersSize, Styles.ImageMarkersSize, EditorGUIUtility.singleLineHeight), markerDefinition.Label, EditorStyles.wordWrappedLabel); } return(isActive); }
static XRReferenceImage AddRefImageFromMarker(XRReferenceImageLibrary xrReferenceImageLibrary, MarsMarkerDefinition marsMarkerDefinition) { xrReferenceImageLibrary.Add(); // Just added entry is last var index = xrReferenceImageLibrary.count - 1; UpdateRefImage(xrReferenceImageLibrary, index, marsMarkerDefinition); return(xrReferenceImageLibrary[index]); }
static void UpdateRefImage(XRReferenceImageLibrary xrReferenceImageLibrary, int index, MarsMarkerDefinition marsMarkerDefinition) { xrReferenceImageLibrary.SetName(index, marsMarkerDefinition.Label); xrReferenceImageLibrary.SetSpecifySize(index, marsMarkerDefinition.SpecifySize); xrReferenceImageLibrary.SetSize(index, marsMarkerDefinition.Size); xrReferenceImageLibrary.SetTexture(index, marsMarkerDefinition.Texture, true); }