public override void OnInspectorGUI() { CP_SSSSS_Object myScript = target as CP_SSSSS_Object; if (e_object == null) { e_object = new SerializedObject(target); e_subsurfaceColor = e_object.FindProperty("subsurfaceColor"); e_maskSource = e_object.FindProperty("maskSource"); } EditorGUILayout.PropertyField(e_subsurfaceColor, new GUIContent("Subsurface color:"), true); CP_SSSSS_MaskSource msksrc = (CP_SSSSS_MaskSource)EditorGUILayout.Popup("Subsurface mask source:", (int)myScript.maskSource, maskSourceNames); if (msksrc != myScript.maskSource) { //Undo.RecordObject(target, "inspector"); myScript.maskSource = msksrc; e_maskSource.enumValueIndex = (int)msksrc; } if (myScript.maskSource == CP_SSSSS_MaskSource.separateTexture) { myScript.maskTex = (Texture2D)EditorGUILayout.ObjectField("Mask texture (A):", myScript.maskTex, typeof(Texture2D), false); } e_object.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { CP_SSSSS_Object myScript = target as CP_SSSSS_Object; if (e_object == null) { e_object = new SerializedObject(target); e_subsurfaceColor = e_object.FindProperty("subsurfaceColor"); e_maskSource = e_object.FindProperty("maskSource"); } EditorGUILayout.PropertyField(e_subsurfaceColor, new GUIContent("Subsurface color:"), true); CP_SSSSS_MaskSource msksrc = (CP_SSSSS_MaskSource)EditorGUILayout.Popup("Subsurface mask source:", (int)myScript.maskSource, maskSourceNames); if (msksrc != myScript.maskSource) { //Undo.RecordObject(target, "inspector"); myScript.maskSource = msksrc; e_maskSource.enumValueIndex = (int)msksrc; } if (myScript.maskSource == CP_SSSSS_MaskSource.separateTexture) { myScript.maskTex = (Texture2D)EditorGUILayout.ObjectField("Mask texture (A):", myScript.maskTex, typeof(Texture2D), false); } if (myScript.maskSource == CP_SSSSS_MaskSource.separateTexture && myScript.GetRenderer().sharedMaterials.Length > 1) { EditorGUILayout.HelpBox("WARNING: Separate texture mask source doesnt work with multimaterial objects", MessageType.Warning); } e_object.ApplyModifiedProperties(); }