您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
36 行
1.0 KiB
36 行
1.0 KiB
using UnityEngine;
|
|
|
|
namespace UnityEditor.Graphs.Material
|
|
{
|
|
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 ();
|
|
}
|
|
}
|