public override void OnInspectorGUI()
        {
            _decal = target as Decal;

            SerializedProperty material            = serializedObject.FindProperty("Material");
            SerializedProperty renderOrder         = serializedObject.FindProperty("RenderOrder");
            SerializedProperty fade                = serializedObject.FindProperty("Fade");
            SerializedProperty limitTo             = serializedObject.FindProperty("LimitTo");
            SerializedProperty drawAlbedo          = serializedObject.FindProperty("DrawAlbedo");
            SerializedProperty useLightProbes      = serializedObject.FindProperty("UseLightProbes");
            SerializedProperty drawNormalAndGloss  = serializedObject.FindProperty("DrawNormalAndGloss");
            SerializedProperty highQualityBlending = serializedObject.FindProperty("HighQualityBlending");

            EditorGUILayout.PropertyField(material);
            EditorGUILayout.PropertyField(renderOrder);
            Decal.DecalRenderMode dRenderMode = _decal.RenderMode;
            switch (dRenderMode)
            {
            case Decal.DecalRenderMode.Deferred:
                EditorGUILayout.Space();
                EditorGUILayout.LabelField("Deferred Decal", EditorStyles.boldLabel);
                if (Camera.main != null && Camera.main.actualRenderingPath != RenderingPath.DeferredShading)
                {
                    EditorGUILayout.HelpBox("Main camera is not using the Deferred rendering path. " +
                                            "Deferred decals will not be drawn. Current path: " + Camera.main.actualRenderingPath, MessageType.Error);
                }
                EditorGUILayout.PropertyField(drawAlbedo);
                EditorGUI.BeginDisabledGroup(!drawAlbedo.boolValue);
                EditorGUI.indentLevel++;
                EditorGUILayout.PropertyField(useLightProbes);
                EditorGUI.indentLevel--;
                EditorGUI.EndDisabledGroup();
                EditorGUILayout.PropertyField(drawNormalAndGloss);
                EditorGUI.BeginDisabledGroup(!drawNormalAndGloss.boolValue);
                EditorGUI.indentLevel++;
                EditorGUILayout.PropertyField(highQualityBlending);
                EditorGUI.indentLevel--;
                EditorGUI.EndDisabledGroup();
                EditorGUILayout.PropertyField(fade);
                EditorGUILayout.PropertyField(limitTo);
                break;

            case Decal.DecalRenderMode.Unlit:
                EditorGUILayout.Space();
                EditorGUILayout.LabelField("Unlit Decal", EditorStyles.boldLabel);
                EditorGUILayout.PropertyField(fade);
                EditorGUILayout.PropertyField(limitTo);
                break;

            case Decal.DecalRenderMode.Invalid:
            default:
                EditorGUILayout.HelpBox("Please select a Material with a Decalicious shader.", MessageType.Info);
                break;
            }

            serializedObject.ApplyModifiedProperties();
        }
 // Token: 0x060034CD RID: 13517 RVA: 0x000E7860 File Offset: 0x000E5A60
 public void Add(Decal decal, GameObject limitTo)
 {
     if (limitTo)
     {
         this._limitToGameObjects.Add(limitTo);
     }
     Decal.DecalRenderMode renderMode = decal.RenderMode;
     if (renderMode == Decal.DecalRenderMode.Deferred)
     {
         this.AddDeferred(decal);
         return;
     }
     if (renderMode != Decal.DecalRenderMode.Unlit)
     {
         return;
     }
     this.AddUnlit(decal);
 }