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

36 行
1.1 KiB

using UnityEngine;
namespace UnityEditor.MaterialGraph
{
public enum PropertyType
{
Color,
Texture2D,
Float,
Vector4
}
public abstract class ShaderProperty : ScriptableObject, IGenerateProperties
{
[SerializeField]
protected string m_PropertyDescription;
public virtual object value { get; set; }
public virtual void PropertyOnGUI(out bool nameChanged, out bool valuesChanged)
{
EditorGUI.BeginChangeCheck();
name = EditorGUILayout.TextField("Name", name);
nameChanged = EditorGUI.EndChangeCheck();
EditorGUI.BeginChangeCheck();
m_PropertyDescription = EditorGUILayout.TextField("Desc", m_PropertyDescription);
valuesChanged = EditorGUI.EndChangeCheck();
}
public abstract PropertyType propertyType { get; }
public abstract void GeneratePropertyBlock(PropertyGenerator visitor, GenerationMode generationMode);
public abstract void GeneratePropertyUsages(ShaderGenerator visitor, GenerationMode generationMode);
public abstract string GenerateDefaultValue();
}
}