private static string GetValue(object instance, Type fieldType, FieldInfo field) { string result = null; object val = field.GetValue(instance); if (val == null) { return(null); } if (fieldType == typeof(Shader) || fieldType == typeof(Texture2D)) { return(null); } if (fieldType.IsPrimitive) { result = val.ToString(); } else if (fieldType.IsEnum) { result = ((int)val).ToString(); } else if (fieldType == typeof(Vector3)) { Vector3 v3 = (Vector3)val; result = Util.ConvertVector3ToString(v3); } else if (fieldType == typeof(Color) || fieldType == typeof(Color32)) { Color32 color = (Color)val; result = Util.ConvertColor32ToString(color); } else if (fieldType == typeof(AnimationCurve)) { AnimationCurve curve = (AnimationCurve)val; result = Util.ConvertAnimationCurveToString(curve); } else if (fieldType == typeof(Transform)) { Vector3 v3 = ((Transform)val).position; result = Util.ConvertVector3ToString(v3); } return(result); }