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

70 行
2.4 KiB

using System.Text;
namespace UnityEngine.MaterialGraph
{
public class FloatPropertyChunk : PropertyChunk
{
public enum FloatType
{
Float,
Toggle,
Range,
PowerSlider
}
private readonly float m_DefaultValue;
private readonly FloatType m_FloatType;
private readonly Vector3 m_rangeValues;
public FloatPropertyChunk(string propertyName, string propertyDescription, float defaultValue, HideState hideState)
: base(propertyName, propertyDescription, hideState)
{
m_DefaultValue = defaultValue;
}
public FloatPropertyChunk(string propertyName, string propertyDescription, float defaultValue, FloatType floatType, HideState hideState)
: base(propertyName, propertyDescription, hideState)
{
m_FloatType = floatType;
m_DefaultValue = defaultValue;
}
public FloatPropertyChunk(string propertyName, string propertyDescription, float defaultValue, FloatType floatType, Vector3 rangeValues, HideState hideState)
: base(propertyName, propertyDescription, hideState)
{
m_FloatType = floatType;
m_rangeValues = rangeValues;
m_DefaultValue = defaultValue;
}
public float defaultValue
{
get { return m_DefaultValue; }
}
public override string GetPropertyString()
{
var result = new StringBuilder();
if (m_FloatType == FloatType.Toggle)
result.Append("[Toggle]");
else if (m_FloatType == FloatType.PowerSlider)
result.Append("[PowerSlider(" + m_rangeValues.z + ")]");
result.Append(propertyName);
result.Append("(\"");
result.Append(propertyDescription);
if (m_FloatType == FloatType.Float || m_FloatType == FloatType.Toggle)
{
result.Append("\", Float) = ");
}
else if (m_FloatType == FloatType.Range || m_FloatType == FloatType.PowerSlider)
{
result.Append("\", Range(");
result.Append(m_rangeValues.x + ", " + m_rangeValues.y);
result.Append(")) = ");
}
result.Append(defaultValue);
return result.ToString();
}
}
}