private void OnEnable() { spriteColorOutline = gameObject.GetComponent <SpriteColorOutline>(); hsbColor = new HSBColor(Color.white); hsbColor.s = 1.0f; originalOutlineSize = spriteColorOutline.outlineSize; }
private void OnEnable() { spriteColorOutline = gameObject.GetComponent<SpriteColorOutline>(); hsbColor = new HSBColor(Color.white); hsbColor.s = 1.0f; originalOutlineSize = spriteColorOutline.outlineSize; }
/// <summary> /// Set the default values. /// </summary> protected override void ResetDefaultValues() { if (effect == null) effect = this.target as SpriteColorOutline; effect.outlineSize = 0.0075f; effect.gradientScale = 1.0f; effect.gradientOffset = 0.0f; effect.outlineTextureUVParams = new Vector4(1.0f, 1.0f, 0.0f, 0.0f); effect.outlineTextureUVAngle = 0.0f; base.ResetDefaultValues(); }
/// <summary> /// Set the default values. /// </summary> protected override void ResetDefaultValues() { if (effect == null) { effect = this.target as SpriteColorOutline; } effect.outlineSize = 0.0075f; effect.gradientScale = 1.0f; effect.gradientOffset = 0.0f; effect.outlineTextureUVParams = new Vector4(1.0f, 1.0f, 0.0f, 0.0f); effect.outlineTextureUVAngle = 0.0f; effect.alphaThreshold = 0.1f; effect.overlap = true; base.ResetDefaultValues(); }
/// <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.outlineSize = SpriteColorFXEditorHelper.SliderWithReset(@"Size", @"Outline width", effect.outlineSize * (100.0f / 0.03f), 0.0f, 100.0f, 25.0f) * (0.03f / 100.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); } }
/// <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--; } }