summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSliders.cs
blob: 1000b2e1802a71baa228965c6e4210989f91811e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Amplify Shader Editor - Visual Shader Editing Tool
// Copyright (c) Amplify Creations, Lda <info@amplify.pt>

using UnityEngine;
using UnityEditor;
using System;

public class RemapSliders : MaterialPropertyDrawer
{
	public override void OnGUI( Rect position, MaterialProperty prop, String label, MaterialEditor editor )
	{
		EditorGUI.BeginChangeCheck();
		Vector4 value = prop.vectorValue;

		EditorGUI.showMixedValue = prop.hasMixedValue;
		
		var cacheLabel = EditorGUIUtility.labelWidth;
		var cacheField = EditorGUIUtility.fieldWidth;
		if( cacheField <= 64 )
		{
			float total = position.width;
			EditorGUIUtility.labelWidth = Mathf.Ceil( 0.45f * total ) - 30;
			EditorGUIUtility.fieldWidth = Mathf.Ceil( 0.55f * total ) + 30;
		}

		EditorGUILayout.MinMaxSlider( label, ref value.x, ref value.y, 0, 1 );

		EditorGUIUtility.labelWidth = cacheLabel;
		EditorGUIUtility.fieldWidth = cacheField;
		EditorGUI.showMixedValue = false;
		if( EditorGUI.EndChangeCheck() )
		{
			prop.vectorValue = value;
		}
	}
}