您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

49 行
1.3 KiB

using UnityEngine;
namespace UnityEditor.Graphs.Material
{
public class ColorProperty : ShaderProperty
{
[SerializeField] private Color m_DefaultColor;
public override object value
{
get { return m_DefaultColor; }
set { m_DefaultColor = (Color) value; }
}
public Color defaultColor
{
get { return m_DefaultColor; }
set { m_DefaultColor = value; }
}
public override void PropertyOnGUI(out bool nameChanged, out bool valuesChanged)
{
base.PropertyOnGUI(out nameChanged, out valuesChanged);
EditorGUI.BeginChangeCheck();
m_DefaultColor = EditorGUILayout.ColorField("Color", m_DefaultColor);
valuesChanged |= EditorGUI.EndChangeCheck();
}
public override PropertyType propertyType
{
get { return PropertyType.Color; }
}
public override void GeneratePropertyBlock(PropertyGenerator visitor, GenerationMode generationMode)
{
visitor.AddShaderProperty(new ColorPropertyChunk(name, m_PropertyDescription, m_DefaultColor, false));
}
public override void GeneratePropertyUsages(ShaderGenerator visitor, GenerationMode generationMode)
{
visitor.AddShaderChunk("float4 " + name + ";", true);
}
public override string GenerateDefaultValue()
{
return "half4 (" + m_DefaultColor.r + "," + m_DefaultColor.g + "," + m_DefaultColor.b + "," + m_DefaultColor.a + ")";
}
}
}