Skip to content

Instantly share code, notes, and snippets.

@hiyorin
Last active May 30, 2022 09:38
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hiyorin/1b83410df6ab9f137fa5 to your computer and use it in GitHub Desktop.
Save hiyorin/1b83410df6ab9f137fa5 to your computer and use it in GitHub Desktop.
ReadOnlyAttribute
using UnityEngine;
public class Example : MonoBehaviour
{
[SerializeFiled, ReadOnlyAttribute]
private int value = 0;
[SerializeFiled, ReadOnlyAttribute]
private string[] array = null;
}
using UnityEngine;
public class ReadOnlyAttribute : PropertyAttribute
{
}
using UnityEditor;
using UnityEngine;
[CustomPropertyDrawer(typeof(ReadOnlyAttribute))]
public class ReadOnlyDrawer : PropertyDrawer
{
public override float GetPropertyHeight (SerializedProperty property, GUIContent label)
{
return EditorGUI.GetPropertyHeight(property, label, true);
}
public override void OnGUI (Rect position, SerializedProperty property, GUIContent label)
{
GUI.enabled = false;
EditorGUI.PropertyField (position, property, label, true);
GUI.enabled = true;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment