private static MaterialPropertyDrawer CreatePropertyDrawer(Type klass, string argsText)
{
if (string.IsNullOrEmpty(argsText))
{
return (Activator.CreateInstance(klass) as MaterialPropertyDrawer);
}
char[] separator = new char[] { ',' };
string[] strArray = argsText.Split(separator);
object[] args = new object[strArray.Length];
for (int i = 0; i < strArray.Length; i++)
{
float num2;
string s = strArray[i].Trim();
if (float.TryParse(s, NumberStyles.Float, (IFormatProvider) CultureInfo.InvariantCulture.NumberFormat, out num2))
{
args[i] = num2;
}
else
{
args[i] = s;
}
}
return (Activator.CreateInstance(klass, args) as MaterialPropertyDrawer);
}