LanguageEnglish
  • C#
Method group is Obsolete

PropertyCollectionAttribute

class in UnityEngine

/

Inherits from:PropertyAttribute

/

Implemented in:UnityEngine.CoreModule

Obsolete Derive collection attributes from 'PropertyAttribute' and set its 'applyToCollection' property to 'true'.

Description

Base class to derive custom property attributes for collections from. Use this to create custom attributes for array and list variables in scripts.

A custom attributes can be hooked up with a custom PropertyDrawer class to control how a script variable with that attribute is shown in the Inspector.

using UnityEditor;
using UnityEditor.UIElements;
using UnityEngine;
using UnityEngine.UIElements;

public class Collection : MonoBehaviour { public int before; [GreenCollectionDrawer] public int[] collection; public int after; }

public class GreenCollectionDrawerAttribute : PropertyCollectionAttribute { }

[CustomPropertyDrawer(typeof(GreenCollectionDrawerAttribute))] public class GreenCollectionDrawer : PropertyDrawer { public override VisualElement CreatePropertyGUI(SerializedProperty property) { return new PropertyField(property) { style = { backgroundColor = Color.green } }; } }

Additional resources: PropertyDrawer class.

Inherited Members

Properties

applyToCollectionMakes attribute affect collections instead of their items.
orderOptional field to specify the order that multiple DecorationDrawers should be drawn in.

对文档有任何疑问,请移步至开发者社区提问,我们将尽快为您解答
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961