public static DrawFunction GenerateFloat(MemberReference member, ShowInInspectorAttribute attribute) { if (member.HasValue && member.MemberInfo.HasCustomAttribute <ShowAsFloatSliderAttribute>()) { var sliderAttribute = member.MemberInfo.GetCustomAttribute <ShowAsFloatSliderAttribute>(); return((label, value, parameters) => EditorGUILayout.Slider(label, (float)value, sliderAttribute.Min, sliderAttribute.Max, parameters)); } else { return(InternalPropertyDrawer.CreateDrawFunction <float>(EditorGUILayout.FloatField)); } }
public static DrawFunction GenerateInt(MemberReference member, ShowInInspectorAttribute attribute) { if (member.HasValue && member.MemberInfo.HasCustomAttribute <ShowAsIntSliderAttribute>()) { var sliderAttribute = member.MemberInfo.GetCustomAttribute <ShowAsIntSliderAttribute>(); return((label, value, parameters) => EditorGUILayout.IntSlider(label, (int)value, sliderAttribute.Min, sliderAttribute.Max, parameters)); } else if (member.HasValue && Attribute.IsDefined(member.MemberInfo, typeof(ShowAsLayerAttribute))) { return(InternalPropertyDrawer.CreateDrawFunction <int>(EditorGUILayout.LayerField)); } else { return(InternalPropertyDrawer.CreateDrawFunction <int>(EditorGUILayout.IntField)); } }