Exemplo n.º 1
0
        internal static SelectionRenderState GetSelectionRenderState()
        {
                        #if UNITY_5_3 || UNITY_5_4
            return(SelectionRenderState.Wireframe);
                        #else
            bool wireframe = false, outline = false;

            try {
                wireframe = (bool)ReflectionUtility.GetValue(null, "UnityEditor.AnnotationUtility", "showSelectionWire");
                outline   = (bool)ReflectionUtility.GetValue(null, "UnityEditor.AnnotationUtility", "showSelectionOutline");
            } catch {
                Debug.LogWarning("Looks like Unity changed the AnnotationUtility \"showSelectionOutline\"\nPlease email [email protected] and let Karl know!");
            }

            SelectionRenderState state = SelectionRenderState.None;

            if (wireframe)
            {
                state |= SelectionRenderState.Wireframe;
            }
            if (outline)
            {
                state |= SelectionRenderState.Outline;
            }

            return(state);
                        #endif
        }
Exemplo n.º 2
0
        void OnEnable()
        {
            if (EditorApplication.isPlayingOrWillChangePlaymode)
            {
                return;
            }

            m_Mesh = (ProBuilderMesh)target;

            if (!m_Mesh)
            {
                return;
            }

            m_GameObjectsSerializedObject = new SerializedObject(serializedObject.targetObjects.Select(t => ((Component)t).gameObject).ToArray());

            m_UnwrapParameters  = serializedObject.FindProperty("m_UnwrapParameters");
            m_StaticEditorFlags = m_GameObjectsSerializedObject.FindProperty("m_StaticEditorFlags");
            m_MeshRenderer      = m_Mesh.gameObject.GetComponent <Renderer>();

            SelectionRenderState s = EditorUtility.GetSelectionRenderState();

            EditorUtility.SetSelectionRenderState(m_MeshRenderer, editor != null ? s & SelectionRenderState.Outline : s);

            foreach (var mesh in Selection.transforms.GetComponents <ProBuilderMesh>())
            {
                EditorUtility.SynchronizeWithMeshFilter(mesh);
            }

            VertexManipulationTool.beforeMeshModification += OnBeginMeshModification;
            VertexManipulationTool.afterMeshModification  += OnFinishMeshModification;
        }
Exemplo n.º 3
0
 /// <summary>
 /// Set the selected render state for an object.  In Unity 5.4 and lower, this just toggles wireframe on or off.
 /// </summary>
 /// <param name="renderer">Renderer to change selection state</param>
 /// <param name="state">State to be set</param>
 internal static void SetSelectionRenderState(Renderer renderer, SelectionRenderState state)
 {
                 #if UNITY_5_3 || UNITY_5_4
     EditorUtility.SetSelectedWireframeHidden(renderer, state == 0);
                 #else
     EditorUtility.SetSelectedRenderState(renderer, (EditorSelectedRenderState)state);
                 #endif
 }
Exemplo n.º 4
0
 /// <summary>
 /// Set the selected render state for an object. In Unity 5.4 and lower, this just toggles wireframe on or off.
 /// </summary>
 /// <param name="renderer"></param>
 /// <param name="state"></param>
 internal static void SetSelectionRenderState(Renderer renderer, SelectionRenderState state)
 {
     UnityEditor.EditorUtility.SetSelectedRenderState(renderer, (EditorSelectedRenderState)state);
 }