示例#1
0
        /// <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);
 }