Version 3.3.0.1

BaseCollectionResolver<TCollection> class

Namespace: Sirenix.OdinInspector.Editor
Assembly: Sirenix.OdinInspector.Editor
public abstract class BaseCollectionResolver<TCollection> : OdinPropertyResolver<TCollection>, ICollectionResolver, IApplyableResolver, IRefreshableResolver
Inheritance

Type Parameters

TCollection

Constructors

BaseCollectionResolver()
protected BaseCollectionResolver()

Properties

ApplyToRootSelectionTarget
protected virtual bool ApplyToRootSelectionTarget { get; }
ElementType
public abstract Type ElementType { get; }
IsCollection
public override bool IsCollection { get; }
IsReadOnly
public bool IsReadOnly { get; }
MaxCollectionLength
public int MaxCollectionLength { get; }

Methods

Add(TCollection, Object)
protected abstract void Add(TCollection collection, object value)
Parameters
TCollection collection

System.Object value

ApplyChanges()
public bool ApplyChanges()
Returns
System.Boolean

CanResolveForPropertyFilter(InspectorProperty)
public override bool CanResolveForPropertyFilter(InspectorProperty property)
Parameters
InspectorProperty property

Returns
System.Boolean

CheckHasLengthConflict()
public bool CheckHasLengthConflict()
Returns
System.Boolean

ChildPropertyRequiresRefresh(Int32, InspectorPropertyInfo)
public abstract bool ChildPropertyRequiresRefresh(int index, InspectorPropertyInfo info)
Parameters
System.Int32 index

InspectorPropertyInfo info

Returns
System.Boolean

Clear(TCollection)
protected abstract void Clear(TCollection collection)
Parameters
TCollection collection

CollectionIsReadOnly(TCollection)
protected abstract bool CollectionIsReadOnly(TCollection collection)
Parameters
TCollection collection

Returns
System.Boolean

EnqueueChange(Action, CollectionChangeInfo)
public void EnqueueChange(Action action, CollectionChangeInfo info)
Parameters
System.Action action

CollectionChangeInfo info

InvokeOnAfterChange(CollectionChangeInfo)
public void InvokeOnAfterChange(CollectionChangeInfo info)
Parameters
CollectionChangeInfo info

InvokeOnBeforeChange(CollectionChangeInfo)
public void InvokeOnBeforeChange(CollectionChangeInfo info)
Parameters
CollectionChangeInfo info

OnCollectionChangesApplied()
protected virtual void OnCollectionChangesApplied()
QueueAdd(Object, Int32)
public void QueueAdd(object value, int selectionIndex)
Parameters
System.Object value

System.Int32 selectionIndex

QueueAdd(Object[])
public void QueueAdd(object[] values)
Parameters
System.Object[] values

QueueClear()
public void QueueClear()
QueueRemove(Object, Int32)
public void QueueRemove(object value, int selectionIndex)
Parameters
System.Object value

System.Int32 selectionIndex

QueueRemove(Object[])
public void QueueRemove(object[] values)
Parameters
System.Object[] values

Remove(TCollection, Object)
protected abstract void Remove(TCollection collection, object value)
Parameters
TCollection collection

System.Object value

Events

OnAfterChange
public event Action<CollectionChangeInfo> OnAfterChange
OnBeforeChange
public event Action<CollectionChangeInfo> OnBeforeChange