rabidus-test/Assets/Amazing Assets/Advanced Dissolve/Editor/Property Drawers/AdvancedDissolveExponentalD...

31 lines
902 B
C#

using UnityEngine;
using UnityEditor;
namespace AmazingAssets.AdvancedDissolveEditor
{
class AdvancedDissolveExponentalDrawer : MaterialPropertyDrawer
{
public override void OnGUI(Rect position, MaterialProperty prop, string label, UnityEditor.MaterialEditor editor)
{
Vector2 value = prop.vectorValue;
EditorGUI.BeginChangeCheck();
EditorGUI.showMixedValue = prop.hasMixedValue;
// Show the toggle control
value.x = EditorGUI.FloatField(position, label, value.x);
EditorGUI.showMixedValue = false;
if (EditorGUI.EndChangeCheck())
{
value.x = value.x < 0 ? 0 : value.x;
float exp = Mathf.Exp(value.x) - 1;
exp = exp < 0 ? 0 : exp;
prop.vectorValue = new Vector2(value.x, exp);
}
}
}
}