docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class MetadataListAdaptor

    Inheritance
    object
    MetadataCollectionAdaptor
    MetadataListAdaptor
    ProjectAssemblyOptionsListAdaptor
    Implements
    IReorderableListAdaptor
    IReorderableListDropTarget
    Inherited Members
    MetadataCollectionAdaptor.parentInspector
    MetadataCollectionAdaptor.BeginGUI()
    MetadataCollectionAdaptor.EndGUI()
    MetadataCollectionAdaptor.GetTitleHeight(float, GUIContent)
    MetadataCollectionAdaptor.OnTitleGUI(Rect, GUIContent)
    MetadataCollectionAdaptor.GetItemHeight(int)
    MetadataCollectionAdaptor.GetAdaptiveWidth()
    MetadataCollectionAdaptor.GetHeight(float, GUIContent)
    MetadataCollectionAdaptor.Field(Rect, GUIContent)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Unity.VisualScripting
    Assembly: Unity.VisualScripting.Core.Editor.dll
    Syntax
    public class MetadataListAdaptor : MetadataCollectionAdaptor, IReorderableListAdaptor, IReorderableListDropTarget

    Constructors

    MetadataListAdaptor(Metadata, Inspector)

    Declaration
    public MetadataListAdaptor(Metadata metadata, Inspector parentInspector)
    Parameters
    Type Name Description
    Metadata metadata
    Inspector parentInspector

    Properties

    Count

    Gets count of elements in list.

    Declaration
    public override int Count { get; }
    Property Value
    Type Description
    int
    Overrides
    MetadataCollectionAdaptor.Count

    this[int]

    Declaration
    public object this[int index] { get; set; }
    Parameters
    Type Name Description
    int index
    Property Value
    Type Description
    object

    alwaysDragAndDrop

    Declaration
    public bool alwaysDragAndDrop { get; set; }
    Property Value
    Type Description
    bool

    metadata

    Declaration
    public Metadata metadata { get; }
    Property Value
    Type Description
    Metadata

    Methods

    Add()

    Add new element at end of list.

    Declaration
    public override void Add()
    Overrides
    MetadataCollectionAdaptor.Add()

    CanAdd()

    Declaration
    protected virtual bool CanAdd()
    Returns
    Type Description
    bool

    CanDrag(int)

    Determines whether an item can be reordered by dragging mouse.

    Declaration
    public override bool CanDrag(int index)
    Parameters
    Type Name Description
    int index

    Zero-based index for list element.

    Returns
    Type Description
    bool

    A value of true if item can be dragged; otherwise false.

    Overrides
    MetadataCollectionAdaptor.CanDrag(int)
    Remarks

    This should be a light-weight method since it will be used to determine whether grab handle should be included for each item in a reorderable list.

    Please note that returning a value of false does not prevent movement on list item since other draggable items can be moved around it.

    CanDrop(object)

    Declaration
    protected virtual bool CanDrop(object item)
    Parameters
    Type Name Description
    object item
    Returns
    Type Description
    bool

    CanDropInsert(int)

    Determines whether an item is being dragged and that it can be inserted or moved by dropping somewhere into the reorderable list control.

    Declaration
    public bool CanDropInsert(int insertionIndex)
    Parameters
    Type Name Description
    int insertionIndex

    Zero-based index of insertion.

    Returns
    Type Description
    bool

    A value of true if item can be dropped; otherwise false.

    Remarks

    This method is always called whilst drawing an editor GUI.

    See Also
    DragAndDrop

    CanRemove(int)

    Determines whether an item can be removed from list.

    Declaration
    public override bool CanRemove(int index)
    Parameters
    Type Name Description
    int index

    Zero-based index for list element.

    Returns
    Type Description
    bool

    A value of true if item can be removed; otherwise false.

    Overrides
    MetadataCollectionAdaptor.CanRemove(int)
    Remarks

    This should be a light-weight method since it will be used to determine whether remove button should be included for each item in list.

    This is redundant when HideRemoveButtons is specified.

    Clear()

    Clear all elements from list.

    Declaration
    public override void Clear()
    Overrides
    MetadataCollectionAdaptor.Clear()

    ConstructItem()

    Declaration
    protected virtual object ConstructItem()
    Returns
    Type Description
    object

    ConstructList()

    Declaration
    protected virtual IList ConstructList()
    Returns
    Type Description
    IList

    DrawItem(Rect, int)

    Draws main interface for a list item.

    Declaration
    public override void DrawItem(Rect position, int index)
    Parameters
    Type Name Description
    Rect position

    Position in GUI.

    int index

    Zero-based index of array element.

    Overrides
    MetadataCollectionAdaptor.DrawItem(Rect, int)
    Remarks

    This method is used to handle all GUI events.

    DrawItemBackground(Rect, int)

    Draws background of a list item.

    Declaration
    public override void DrawItemBackground(Rect position, int index)
    Parameters
    Type Name Description
    Rect position

    Total position of list element in GUI.

    int index

    Zero-based index of array element.

    Overrides
    MetadataCollectionAdaptor.DrawItemBackground(Rect, int)
    Remarks

    This method is only used to handle GUI repaint events.

    Background of list item spans a slightly larger area than the main interface that is drawn by DrawItem(Rect, int) since it is drawn behind the grab handle.

    Duplicate(int)

    Duplicate existing element.

    Declaration
    public override void Duplicate(int index)
    Parameters
    Type Name Description
    int index

    Zero-based index of list element.

    Overrides
    MetadataCollectionAdaptor.Duplicate(int)
    Remarks

    Consider using the ICloneable interface to duplicate list elements where appropriate.

    GetItemAdaptiveWidth(int)

    Declaration
    public override float GetItemAdaptiveWidth(int index)
    Parameters
    Type Name Description
    int index
    Returns
    Type Description
    float
    Overrides
    MetadataCollectionAdaptor.GetItemAdaptiveWidth(int)

    GetItemHeight(float, int)

    Declaration
    public override float GetItemHeight(float width, int index)
    Parameters
    Type Name Description
    float width
    int index
    Returns
    Type Description
    float
    Overrides
    MetadataCollectionAdaptor.GetItemHeight(float, int)

    Insert(int)

    Insert new element at specified index.

    Declaration
    public override void Insert(int index)
    Parameters
    Type Name Description
    int index

    Zero-based index for list element.

    Overrides
    MetadataCollectionAdaptor.Insert(int)

    Move(int, int)

    Move element from source index to destination index.

    Declaration
    public override void Move(int sourceIndex, int destinationIndex)
    Parameters
    Type Name Description
    int sourceIndex

    Zero-based index of source element.

    int destinationIndex
    Overrides
    MetadataCollectionAdaptor.Move(int, int)

    ProcessDropInsertion(int)

    Processes the current drop insertion operation when CanDropInsert(int) returns a value of true to process, accept or cancel.

    Declaration
    public void ProcessDropInsertion(int insertionIndex)
    Parameters
    Type Name Description
    int insertionIndex

    Zero-based index of insertion.

    Remarks

    This method is always called whilst drawing an editor GUI.

    This method is only called when CanDropInsert(int) returns a value of true.

    See Also
    CurrentListControlID
    DragAndDrop

    Remove(int)

    Remove element at specified index.

    Declaration
    public override void Remove(int index)
    Parameters
    Type Name Description
    int index

    Zero-based index of list element.

    Overrides
    MetadataCollectionAdaptor.Remove(int)

    Events

    itemAdded

    Declaration
    public event Action<object> itemAdded
    Event Type
    Type Description
    Action<object>

    Implements

    IReorderableListAdaptor
    IReorderableListDropTarget

    Extension Methods

    Cloning.Clone(object, ICloner, bool)
    Cloning.Clone(object, ICloner, bool)
    Cloning.CloneViaFakeSerialization(object)
    Cloning.CloneViaFakeSerialization(object)
    ConversionUtility.ConvertTo(object, Type)
    ConversionUtility.ConvertTo(object, Type)
    ConversionUtility.ConvertTo<T>(object)
    ConversionUtility.ConvertTo<T>(object)
    ConversionUtility.IsConvertibleTo(object, Type, bool)
    ConversionUtility.IsConvertibleTo(object, Type, bool)
    ConversionUtility.IsConvertibleTo<T>(object, bool)
    ConversionUtility.IsConvertibleTo<T>(object, bool)
    Serialization.Serialize(object, bool)
    Serialization.Serialize(object, bool)
    TypeUtility.ToShortString(object, int)
    TypeUtility.ToShortString(object, int)
    UnityObjectUtility.IsUnityNull(object)
    UnityObjectUtility.IsUnityNull(object)
    UnityObjectUtility.ToSafeString(object)
    UnityObjectUtility.ToSafeString(object)
    XAnalyserProvider.Analyser(object, GraphReference)
    XAnalyserProvider.Analyser(object, IGraphContext)
    XAnalyserProvider.Analyser<TAnalyser>(object, GraphReference)
    XAnalyserProvider.Analyser<TAnalyser>(object, IGraphContext)
    XAnalyserProvider.Analysis(object, GraphReference)
    XAnalyserProvider.Analysis(object, IGraphContext)
    XAnalyserProvider.Analysis<TAnalysis>(object, GraphReference)
    XAnalyserProvider.Analysis<TAnalysis>(object, IGraphContext)
    XDescriptorProvider.Describe(object)
    XDescriptorProvider.Description(object)
    XDescriptorProvider.Description<TDescription>(object)
    XDescriptorProvider.Descriptor(object)
    XDescriptorProvider.Descriptor<TDescriptor>(object)
    XDescriptorProvider.HasDescriptor(object)
    Cloning.CloneViaFakeSerialization<T>(T)
    Cloning.CloneViaFakeSerialization<T>(T)
    Cloning.Clone<T>(T, ICloner, bool)
    Cloning.Clone<T>(T, ICloner, bool)
    LinqUtility.Yield<T>(T)
    LinqUtility.Yield<T>(T)
    Serialization.CloneViaSerializationInto<TSource, TDestination>(TSource, ref TDestination, bool)
    Serialization.CloneViaSerializationInto<TSource, TDestination>(TSource, ref TDestination, bool)
    Serialization.CloneViaSerialization<T>(T, bool)
    Serialization.CloneViaSerialization<T>(T, bool)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)