public override void OnInspectorGUI() { ScalableBlurConfig config = (ScalableBlurConfig)target; DrawTabView(config); Undo.RecordObject(target, "Modify Blur Config"); }
public void Draw(ScalableBlurConfig config) { Undo.RecordObject(target, "Modify Blur Config"); using (var v = new EditorGUILayout.VerticalScope()) { EditorGUILayout.Space(); DrawTabBar(); EditorGUILayout.Space(); using (var changes = new EditorGUI.ChangeCheckScope()) { DrawTabsContent(config); EditorGUILayout.Space(); config.MaxDepth = EditorGUILayout.IntField(depthLabel, config.MaxDepth); EditorGUILayout.Space(); if (changes.changed) { EditorUtility.SetDirty(target); } } } }
void DrawTabsContent(ScalableBlurConfig config) { //Simple tab if (EditorGUILayout.BeginFadeGroup(1 - useAdvancedControl.faded)) { config.Strength = Mathf.Max(0, EditorGUILayout.FloatField("Strength", config.Strength)); } EditorGUILayout.EndFadeGroup(); //Advanced tab if (EditorGUILayout.BeginFadeGroup(useAdvancedControl.faded)) { config.Radius = EditorGUILayout.FloatField(radiusLabel, config.Radius); config.Iteration = EditorGUILayout.IntSlider( iterationLabel, config.Iteration, Min, MaxIteration ); } EditorGUILayout.EndFadeGroup(); }
public override void OnInspectorGUI() { Undo.RecordObject(target, "Change Translucent Image Source property"); PrefabUtility.RecordPrefabInstancePropertyModifications(target); var tiSource = (TranslucentImageSource)target; using (var v = new EditorGUILayout.VerticalScope()) { EditorGUILayout.Space(); GUI.Box(v.rect, GUIContent.none); tiSource.BlurConfig = (BlurConfig)EditorGUILayout.ObjectField("Config file", tiSource.BlurConfig, typeof(BlurConfig), false); if (tiSource.BlurConfig == null) { EditorGUILayout.HelpBox("Missing Blur Config", MessageType.Warning); if (GUILayout.Button("New Blur Config File")) { ScalableBlurConfig config = CreateInstance <ScalableBlurConfig>(); var path = AssetDatabase.GenerateUniqueAssetPath( $"Assets/{SceneManager.GetActiveScene().name} {tiSource.gameObject.name} Blur Config.asset"); AssetDatabase.CreateAsset(config, path); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); EditorGUIUtility.PingObject(config); tiSource.BlurConfig = config; } } else { // EditorGUILayout.LabelField("Blur settings", EditorStyles.centeredGreyMiniLabel); ConfigEditor.Draw((ScalableBlurConfig)tiSource.BlurConfig); } } EditorGUILayout.Space(); // Common properties tiSource.Downsample = EditorGUILayout.IntSlider(downsampleLabel, tiSource.Downsample, 0, 3); tiSource.BlurRegion = EditorGUILayout.RectField(regionLabel, tiSource.BlurRegion); tiSource.maxUpdateRate = EditorGUILayout.FloatField(updateRateLabel, tiSource.maxUpdateRate); tiSource.preview = EditorGUILayout.Toggle(previewLabel, tiSource.preview); if (GUI.changed) { EditorUtility.SetDirty(target); } }
private ShadowFactory() { cmd = new CommandBuffer { name = "Shadow Commands" }; materialProps = new MaterialPropertyBlock(); materialProps.SetVector(ShaderId.CLIP_RECT, new Vector4(float.NegativeInfinity, float.NegativeInfinity, float.PositiveInfinity, float.PositiveInfinity)); materialProps.SetInt(ShaderId.COLOR_MASK, (int)ColorWriteMask.All); // Render shadow even if mask hide graphic ShaderProperties.Init(8); blurConfig = ScriptableObject.CreateInstance <ScalableBlurConfig>(); blurConfig.hideFlags = HideFlags.HideAndDontSave; blurProcessor = new ScalableBlur(); blurProcessor.Configure(blurConfig); }
public override void OnInspectorGUI() { var tiSource = (TranslucentImageSource)target; tiSource.BlurConfig = (BlurConfig)EditorGUILayout.ObjectField("Config file", tiSource.BlurConfig, typeof(BlurConfig), false); if (tiSource.BlurConfig == null) { EditorGUILayout.HelpBox("Assign a Blur configuration asset, or create a new one", MessageType.Warning); if (GUILayout.Button("Create New Configuration File")) { ScalableBlurConfig config = CreateInstance <ScalableBlurConfig>(); string path = AssetDatabase.GenerateUniqueAssetPath("Assets/" + SceneManager.GetActiveScene().name + " Blur Config.asset"); AssetDatabase.CreateAsset(config, path); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); EditorGUIUtility.PingObject(config); tiSource.BlurConfig = config; } } else { ConfigEditor.OnInspectorGUI(); } EditorGUILayout.Space(); //Common properties tiSource.Downsample = EditorGUILayout.IntSlider(new GUIContent(downsampleLabel), tiSource.Downsample, Min, MaxDownsample); tiSource.BlurRegion = EditorGUILayout.RectField(regionLabel, tiSource.BlurRegion); tiSource.maxUpdateRate = EditorGUILayout.FloatField(updateRateLabel, tiSource.maxUpdateRate); tiSource.preview = EditorGUILayout.Toggle(previewLabel, tiSource.preview); EditorUtility.SetDirty(target); Undo.RecordObject(target, "Change Translucent Image Source property"); }
void DrawTabView(ScalableBlurConfig config) { EditorGUILayout.Space(); using (var v = new EditorGUILayout.VerticalScope()) { GUI.Box(v.rect, GUIContent.none); EditorGUILayout.LabelField("Blur settings", EditorStyles.centeredGreyMiniLabel); DrawTabBar(); EditorGUILayout.Space(); DrawTabsContent(config); EditorGUILayout.Space(); config.MaxDepth = EditorGUILayout.IntField(depthLabel, config.MaxDepth); EditorGUILayout.Space(); } }
public override void OnInspectorGUI() { ScalableBlurConfig config = (ScalableBlurConfig)target; Draw(config); }