1.11.0: Added FieldLabelFromToString

This commit is contained in:
Anders Ejlersen 2024-11-25 22:11:33 +01:00
parent a804633a14
commit 3a825efa2a
7 changed files with 39 additions and 1 deletions

View file

@ -495,6 +495,10 @@ namespace Module.Inspector.Editor
switch (property.propertyType) switch (property.propertyType)
{ {
case SerializedPropertyType.Generic: case SerializedPropertyType.Generic:
#if UNITY_6000_0_OR_NEWER
if (property.boxedValue != null)
return property.boxedValue.ToString();
#endif
break; break;
case SerializedPropertyType.Integer: case SerializedPropertyType.Integer:
return property.intValue.ToString(); return property.intValue.ToString();

View file

@ -0,0 +1,14 @@
using UnityEditor;
using UnityEngine;
namespace Module.Inspector.Editor
{
[CustomPropertyDrawer(typeof(FieldLabelFromToStringAttribute))]
internal sealed class FieldLabelFromToStringAttributeDrawer : PredrawerModifierPropertyDrawer
{
public override void Modify(PredrawerModifierPropertyAttribute attribute, SerializedProperty property, GUIContent label)
{
label.text = property.GetValueAsString();
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fddc7fa044dd4274a5776da1af9caaa9
timeCreated: 1732461982

View file

@ -68,6 +68,8 @@ List of all available pre-drawer attributes:
* Sets GUIContent label for `SerializedProperty` to enum name value of array index in parent field * Sets GUIContent label for `SerializedProperty` to enum name value of array index in parent field
* `FieldLabelFromType` * `FieldLabelFromType`
* Sets GUIContent label for `SerializedProperty` to value type from another field * Sets GUIContent label for `SerializedProperty` to value type from another field
* `FieldLabelFromToString`
* Sets GUIContent label for `SerializedProperty` to values ToString-method
* `HideLabel` * `HideLabel`
* Sets GUIContent label for `SerializedProperty` to empty string * Sets GUIContent label for `SerializedProperty` to empty string

View file

@ -0,0 +1,12 @@
using System;
namespace Module.Inspector
{
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)]
public sealed class FieldLabelFromToStringAttribute : PredrawerModifierPropertyAttribute
{
public FieldLabelFromToStringAttribute()
{
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: da46777d3fc14716a8df225bca6c5b57
timeCreated: 1732461953

View file

@ -1,6 +1,6 @@
{ {
"name": "com.module.inspector", "name": "com.module.inspector",
"version": "1.10.0", "version": "1.11.0",
"displayName": "Module.Inspector", "displayName": "Module.Inspector",
"description": "Custom inspector with various useful property drawers", "description": "Custom inspector with various useful property drawers",
"unity": "2019.2", "unity": "2019.2",