/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (effect == null) { effect = this.target as SpriteColorRampMask; } EditorGUIUtility.fieldWidth = 40.0f; effect.palettes[0] = (SpriteColorRampPalettes)EditorGUILayout.EnumPopup(@"Palette 1 (Red)", effect.palettes[0]); effect.palettes[1] = (SpriteColorRampPalettes)EditorGUILayout.EnumPopup(@"Palette 2 (Green)", effect.palettes[1]); effect.palettes[2] = (SpriteColorRampPalettes)EditorGUILayout.EnumPopup(@"Palette 3 (Blue)", effect.palettes[2]); effect.strength = SpriteColorFXEditorHelper.IntSliderWithReset(@"Strength", SpriteColorFXEditorHelper.TooltipStrength, Mathf.RoundToInt(effect.strength * 100.0f), 0, 100, 100) * 0.01f; effect.gammaCorrect = SpriteColorFXEditorHelper.SliderWithReset(@"Gamma", SpriteColorFXEditorHelper.TooltipGamma, effect.gammaCorrect, 0.5f, 3.0f, 1.2f); effect.uvScroll = SpriteColorFXEditorHelper.SliderWithReset(@"UV Scroll", SpriteColorFXEditorHelper.TooltipUVScroll, effect.uvScroll, 0.0f, 1.0f, 0.0f); EditorGUIUtility.fieldWidth = 60.0f; SpriteColorFXEditorHelper.MinMaxSliderWithReset(@"Luminance range", SpriteColorFXEditorHelper.TooltipLuminanceRange, ref effect.luminanceRangeMin, ref effect.luminanceRangeMax, 0.0f, 1.0f, 0.0f, 1.0f); effect.invertLum = SpriteColorFXEditorHelper.ToogleWithReset(@"Invert luminance", SpriteColorFXEditorHelper.TooltipInvertLuminance, effect.invertLum, false); effect.textureMask = EditorGUILayout.ObjectField(new GUIContent(@"Mask (RGBA)", SpriteColorFXEditorHelper.TooltipTextureMask), effect.textureMask, typeof(Texture2D), false) as Texture2D; }
/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (effect == null) { effect = this.target as SpriteColorDissolve; } EditorGUIUtility.fieldWidth = 40.0f; effect.dissolveAmount = SpriteColorFXEditorHelper.SliderWithReset(@"Amount", SpriteColorFXEditorHelper.TooltipNoiseAmount, effect.dissolveAmount * 100.0f, 0.0f, 100.0f, 0.0f) * 0.01f; DissolveShaderType newShaderType = (DissolveShaderType)EditorGUILayout.EnumPopup(new GUIContent(@"Shader", @"Texture type"), effect.shaderType); if (newShaderType != effect.shaderType) { effect.SetShaderType(newShaderType); } if (effect.shaderType != DissolveShaderType.Normal) { SpriteColorHelper.PixelOp newPixelOp = (SpriteColorHelper.PixelOp)EditorGUILayout.EnumPopup(new GUIContent(@"Blend mode", @"Blend modes"), effect.pixelOp); if (newPixelOp != effect.pixelOp) { effect.SetPixelOp(newPixelOp); } } DissolveTextureType newTextureType = (DissolveTextureType)EditorGUILayout.EnumPopup(@"Dissolve type", effect.dissolveTextureType); if (newTextureType != effect.dissolveTextureType) { effect.SetTextureType(newTextureType); } if (effect.dissolveTextureType == DissolveTextureType.Custom) { effect.dissolveTexture = EditorGUILayout.ObjectField(@"Dissolve texture", effect.dissolveTexture, typeof(Texture), false) as Texture; } effect.dissolveUVScale = SpriteColorFXEditorHelper.SliderWithReset(@"Dissolve UV scale", SpriteColorFXEditorHelper.TooltipNoiseAmount, effect.dissolveUVScale, 0.1f, 5.0f, 1.0f); effect.dissolveInverse = EditorGUILayout.Toggle(new GUIContent(@"Invert", SpriteColorFXEditorHelper.TooltipNoiseAmount), effect.dissolveInverse); if (effect.shaderType != DissolveShaderType.Normal) { effect.dissolveBorderWitdh = SpriteColorFXEditorHelper.SliderWithReset(@"Border witdh", SpriteColorFXEditorHelper.TooltipNoiseAmount, effect.dissolveBorderWitdh * 500.0f, 0.0f, 100.0f, 50.0f) * 0.002f; } if (effect.shaderType == DissolveShaderType.BorderColor) { effect.dissolveBorderColor = SpriteColorFXEditorHelper.ColorWithReset(@"Border color", SpriteColorFXEditorHelper.TooltipNoiseAmount, effect.dissolveBorderColor, Color.grey); } else if (effect.shaderType == DissolveShaderType.BorderTexture) { effect.borderTexture = EditorGUILayout.ObjectField(@"Border texture", effect.borderTexture, typeof(Texture), false) as Texture; effect.borderUVScale = SpriteColorFXEditorHelper.SliderWithReset(@"Border UV scale", SpriteColorFXEditorHelper.TooltipNoiseAmount, effect.borderUVScale, 0.1f, 5.0f, 1.0f); } }
private void UVParamsInspectorGUI(ref Vector4 uvParams, ref float angle) { EditorGUI.indentLevel++; uvParams.x = SpriteColorFXEditorHelper.SliderWithReset(@"U coord scale", @"U texture coordinate scale", uvParams.x, -5f, 5f, 1f); uvParams.y = SpriteColorFXEditorHelper.SliderWithReset(@"V coord scale", @"V texture coordinate scale", uvParams.y, -5f, 5f, 1f); uvParams.z = SpriteColorFXEditorHelper.SliderWithReset(@"U coord vel", @"U texture coordinate velocity", uvParams.z, -2f, 2f, 0f); uvParams.w = SpriteColorFXEditorHelper.SliderWithReset(@"V coord vel", @"V texture coordinate velocity", uvParams.w, -2f, 2f, 0f); angle = SpriteColorFXEditorHelper.SliderWithReset(@"UV angle", @"UV rotation angle", angle, 0f, 360f, 0f); EditorGUI.indentLevel--; }
/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (effect == null) { effect = this.target as SpriteColorGlass; } EditorGUIUtility.fieldWidth = 40.0f; effect.strength = SpriteColorFXEditorHelper.SliderWithReset(@"Strength", SpriteColorFXEditorHelper.TooltipStrength, effect.strength * 100.0f, 0.0f, 100.0f, 100.0f) * 0.01f; effect.distortion = SpriteColorFXEditorHelper.SliderWithReset(@"Distortion", SpriteColorFXEditorHelper.TooltipDistortion, effect.distortion, 0.0f, 10.0f, 1.0f); effect.refraction = SpriteColorFXEditorHelper.SliderWithReset(@"Refraction", SpriteColorFXEditorHelper.TooltipRefraction, effect.refraction, 0.0f, 10.0f, 0.0f); }
/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (baseTarget == null) { baseTarget = this.target as SpriteColorShiftRadial; } EditorGUIUtility.fieldWidth = 40.0f; baseTarget.strength = SpriteColorFXEditorHelper.IntSliderWithReset(@"Strength", SpriteColorFXEditorHelper.TooltipStrength, Mathf.RoundToInt(baseTarget.strength * 100.0f), 0, 100, 0) * 0.01f; baseTarget.noiseAmount = SpriteColorFXEditorHelper.SliderWithReset(@"Noise amount", SpriteColorFXEditorHelper.TooltipNoiseAmount, baseTarget.noiseAmount * 100.0f, 0.0f, 100.0f, 0.0f) * 0.01f; baseTarget.noiseSpeed = SpriteColorFXEditorHelper.SliderWithReset(@"Noise speed", SpriteColorFXEditorHelper.TooltipNoiseSpeed, baseTarget.noiseSpeed * 100.0f, 0.0f, 100.0f, 0.0f) * 0.01f; }
/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (baseTarget == null) { baseTarget = this.target as SpriteColorShiftLinear; } EditorGUIUtility.fieldWidth = 40.0f; baseTarget.redShift = SpriteColorFXEditorHelper.Vector2WithReset(@"Red offset", SpriteColorFXEditorHelper.TooltipRedOffset, baseTarget.redShift, Vector2.zero); baseTarget.greenShift = SpriteColorFXEditorHelper.Vector2WithReset(@"Green offset", SpriteColorFXEditorHelper.TooltipGreenOffset, baseTarget.greenShift, Vector2.zero); baseTarget.blueShift = SpriteColorFXEditorHelper.Vector2WithReset(@"Blue offset", SpriteColorFXEditorHelper.TooltipBlueOffset, baseTarget.blueShift, Vector2.zero); baseTarget.noiseAmount = SpriteColorFXEditorHelper.SliderWithReset(@"Noise amount", SpriteColorFXEditorHelper.TooltipNoiseAmount, baseTarget.noiseAmount * 100.0f, 0.0f, 100.0f, 0.0f) * 0.01f; baseTarget.noiseSpeed = SpriteColorFXEditorHelper.SliderWithReset(@"Noise speed", SpriteColorFXEditorHelper.TooltipNoiseSpeed, baseTarget.noiseSpeed * 100.0f, 0.0f, 100.0f, 0.0f) * 0.01f; }
/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (effect == null) { effect = this.target as SpriteColorInstagram; } EditorGUIUtility.fieldWidth = 40.0f; effect.Filter = (SpriteColorInstagram.Filters)EditorGUILayout.EnumPopup(@"Filter", effect.Filter); effect.strength = SpriteColorFXEditorHelper.SliderWithReset(@"Strength", SpriteColorFXEditorHelper.TooltipStrength, effect.strength * 100.0f, 0.0f, 100.0f, 0.0f) * 0.01f; effect.contrast = SpriteColorFXEditorHelper.SliderWithReset(@"Contrast", @"Contrast [0.0 - 10.0]", effect.contrast, 0.0f, 10.0f, 1.0f); effect.gamma = SpriteColorFXEditorHelper.SliderWithReset(@"Gamma", @"Gamma [0.001 - 10.0]", effect.gamma, 0.001f, 10.0f, 1.0f); effect.filmContrast = EditorGUILayout.Toggle(@"Film contrast", effect.filmContrast); }
/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (effect == null) { effect = this.target as SpriteColorRamp; } EditorGUIUtility.fieldWidth = 40.0f; effect.palette = (SpriteColorRampPalettes)EditorGUILayout.EnumPopup(@"Palette", effect.palette); effect.strength = SpriteColorFXEditorHelper.IntSliderWithReset(@"Strength", SpriteColorFXEditorHelper.TooltipStrength, Mathf.RoundToInt(effect.strength * 100.0f), 0, 100, 100) * 0.01f; effect.gammaCorrect = SpriteColorFXEditorHelper.SliderWithReset(@"Gamma", SpriteColorFXEditorHelper.TooltipGamma, effect.gammaCorrect, 0.5f, 3.0f, 1.2f); effect.uvScroll = SpriteColorFXEditorHelper.SliderWithReset(@"UV Scroll", SpriteColorFXEditorHelper.TooltipUVScroll, effect.uvScroll, 0.0f, 1.0f, 0.0f); EditorGUIUtility.fieldWidth = 60.0f; SpriteColorFXEditorHelper.MinMaxSliderWithReset(@"Luminance range", SpriteColorFXEditorHelper.TooltipLuminanceRange, ref effect.luminanceRangeMin, ref effect.luminanceRangeMax, 0.0f, 1.0f, 0.0f, 1.0f); effect.invertLum = SpriteColorFXEditorHelper.ToogleWithReset(@"Invert luminance", SpriteColorFXEditorHelper.TooltipInvertLuminance, effect.invertLum, false); }
/// <summary> /// Inspector. /// </summary> protected override void Inspector() { if (effect == null) { effect = this.target as SpriteColorOutline; } EditorGUIUtility.fieldWidth = 40.0f; effect.Mode = (SpriteColorOutline.OutlineMode)EditorGUILayout.EnumPopup(new GUIContent(@"Mode", @"Outline mode"), effect.Mode); effect.GrowthMode = (SpriteColorOutline.OutlineGrowthMode)EditorGUILayout.EnumPopup(new GUIContent(@"Growth mode", @"outline growth mode"), effect.GrowthMode); if (effect.GrowthMode == SpriteColorOutline.OutlineGrowthMode.Proportional) { effect.outlineSize = SpriteColorFXEditorHelper.SliderWithReset(@"Size (%)", @"Outline width", effect.outlineSize * (100.0f / 0.03f), 0.0f, 100.0f, 25.0f) * (0.03f / 100.0f); } else { effect.outlineSize = (int)SpriteColorFXEditorHelper.SliderWithReset(@"Size (px)", @"Outline width", effect.outlineSize, 0.0f, 50.0f, 5.0f); } if (effect.Mode == SpriteColorOutline.OutlineMode.Normal) { effect.outlineColor = EditorGUILayout.ColorField(@"Color", effect.outlineColor); } else if (effect.Mode == SpriteColorOutline.OutlineMode.Gradient) { effect.Direction = (SpriteColorOutline.GradientDirection)EditorGUILayout.EnumPopup(new GUIContent(@"Direction", @"Gradient direction"), effect.Direction); effect.outlineColor = EditorGUILayout.ColorField(@"Color #1", effect.outlineColor); effect.outlineColor2 = EditorGUILayout.ColorField(@"Color #2", effect.outlineColor2); effect.gradientScale = SpriteColorFXEditorHelper.SliderWithReset(@"Scale", @"Gradient scale", effect.gradientScale, -10.0f, 10.0f, 1.0f); effect.gradientOffset = SpriteColorFXEditorHelper.SliderWithReset(@"Offset", @"Gradient offset", effect.gradientOffset, 0.0f, 5.0f, 0.0f); } else { effect.outlineColor = EditorGUILayout.ColorField(@"Color", effect.outlineColor); effect.outlineTexture = EditorGUILayout.ObjectField(@"Outline texture", effect.outlineTexture, typeof(Texture), false) as Texture; effect.outlineTextureUVParams.x = SpriteColorFXEditorHelper.SliderWithReset(@"U coord scale", @"U texture coordinate scale", effect.outlineTextureUVParams.x, -5.0f, 5.0f, 1.0f); effect.outlineTextureUVParams.y = SpriteColorFXEditorHelper.SliderWithReset(@"V coord scale", @"V texture coordinate scale", effect.outlineTextureUVParams.y, -5.0f, 5.0f, 1.0f); effect.outlineTextureUVParams.z = SpriteColorFXEditorHelper.SliderWithReset(@"U coord vel", @"U texture coordinate velocity", effect.outlineTextureUVParams.z, -2.0f, 2.0f, 0.0f); effect.outlineTextureUVParams.w = SpriteColorFXEditorHelper.SliderWithReset(@"V coord vel", @"V texture coordinate velocity", effect.outlineTextureUVParams.w, -2.0f, 2.0f, 0.0f); effect.outlineTextureUVAngle = SpriteColorFXEditorHelper.SliderWithReset(@"UV angle", @"UV rotation angle", effect.outlineTextureUVAngle, 0.0f, 360.0f, 0.0f); } bool foldout = EditorGUILayout.Foldout(advancedSettingsFoldout, @"Advanced settings"); if (foldout != advancedSettingsFoldout) { advancedSettingsFoldout = foldout; PlayerPrefs.SetInt(@"SpriteColorFX.advancedSettingsFoldout", advancedSettingsFoldout == true ? 1 : 0); } if (advancedSettingsFoldout == true) { EditorGUI.indentLevel++; effect.alphaThreshold = SpriteColorFXEditorHelper.SliderWithReset(@"Alpha Threshold", @"Alpha Threshold", effect.alphaThreshold, 0.0f, 1.0f, 0.1f); bool enableOverlap = EditorGUILayout.Toggle(@"Overlap", effect.overlap); if (enableOverlap != effect.overlap) { effect.SetOverlap(enableOverlap); } Texture customMask = EditorGUILayout.ObjectField(@"Custom mask", effect.customMask, typeof(Texture), false) as Texture; if (customMask != effect.customMask) { effect.SetCustomMask(customMask); } EditorGUI.indentLevel--; } }
/// <summary> /// OnInspectorGUI. /// </summary> public override void OnInspectorGUI() { if (baseTarget == null) { baseTarget = this.target as SpriteColorBase; } EditorGUIUtility.LookLikeControls(); EditorGUI.indentLevel = 0; EditorGUIUtility.labelWidth = 125.0f; EditorGUILayout.BeginVertical(); { EditorGUILayout.Separator(); ///////////////////////////////////////////////// // Lit. ///////////////////////////////////////////////// baseTarget.LightMode = (LightMode)EditorGUILayout.EnumPopup(@"Lighting mode", baseTarget.LightMode); if (baseTarget.LightMode == LightMode.BumpLit) { EditorGUI.indentLevel++; baseTarget.shininess = SpriteColorFXEditorHelper.SliderWithReset(@"Shininess", @"", baseTarget.shininess, 0.03f, 1.0f, 0.078125f); baseTarget.specularColor = EditorGUILayout.ColorField(@"Specular color", baseTarget.specularColor); baseTarget.normalTex = EditorGUILayout.ObjectField(@"Bump texture", baseTarget.normalTex, typeof(Texture), false) as Texture; baseTarget.bumpIntensity = SpriteColorFXEditorHelper.SliderWithReset(@"Bump intensity", @"", baseTarget.bumpIntensity, 0.0f, 5.0f, 1.0f); bumpFactorFoldout = EditorGUILayout.Foldout(bumpFactorFoldout, @"Invert channels"); if (bumpFactorFoldout == true) { EditorGUI.indentLevel++; baseTarget.invertRedNormalChannel = EditorGUILayout.Toggle(@"Red", baseTarget.invertRedNormalChannel); baseTarget.invertGreenNormalChannel = EditorGUILayout.Toggle(@"Green", baseTarget.invertGreenNormalChannel); EditorGUI.indentLevel--; } EditorGUI.indentLevel--; EditorGUILayout.Separator(); } ///////////////////////////////////////////////// // Common. ///////////////////////////////////////////////// Inspector(); EditorGUILayout.Separator(); ///////////////////////////////////////////////// // Misc. ///////////////////////////////////////////////// EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button(new GUIContent("[web]", "Open website"), GUI.skin.label) == true) { Application.OpenURL(SpriteColorFXEditorHelper.DocumentationURL); } GUILayout.FlexibleSpace(); if (GUILayout.Button("Reset ALL") == true) { ResetDefaultValues(); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); if (string.IsNullOrEmpty(Warnings) == false) { EditorGUILayout.HelpBox(Warnings, MessageType.Warning); EditorGUILayout.Separator(); } if (string.IsNullOrEmpty(Errors) == false) { EditorGUILayout.HelpBox(Errors, MessageType.Error); EditorGUILayout.Separator(); } if (string.IsNullOrEmpty(Help) == false) { EditorGUILayout.HelpBox(Help, MessageType.Info); } } EditorGUILayout.EndVertical(); Warnings = Errors = string.Empty; if (GUI.changed == true) { EditorUtility.SetDirty(target); } EditorGUIUtility.LookLikeControls(); EditorGUI.indentLevel = 0; EditorGUIUtility.labelWidth = 125.0f; }