void CachePropertyList(Shader shader)
{
if (_cachedShader == shader) return;
var temp = new List<string>();
var count = ShaderUtil.GetPropertyCount(shader);
for (var i = 0; i < count; i++)
{
var propType = ShaderUtil.GetPropertyType(shader, i);
if (propType == ShaderUtil.ShaderPropertyType.Float ||
propType == ShaderUtil.ShaderPropertyType.Range)
temp.Add(ShaderUtil.GetPropertyName(shader, i));
}
_propertyList = temp.ToArray();
_cachedShader = shader;
}