Ejemplo n.º 1
0
    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();
    }
Ejemplo n.º 2
0
    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();
    }