Namespace: | Sirenix.OdinInspector.Editor |
Assembly: | Sirenix.OdinInspector.Editor |
public abstract class BaseCollectionResolver<TCollection> : OdinPropertyResolver<TCollection>, ICollectionResolver, IApplyableResolver, IRefreshableResolver
protected BaseCollectionResolver()
protected virtual bool ApplyToRootSelectionTarget { get; }
public abstract Type ElementType { get; }
public override bool IsCollection { get; }
public bool IsReadOnly { get; }
public int MaxCollectionLength { get; }
protected abstract void Add(TCollection collection, object value)
TCollection | collection | |
System.Object | value |
public bool ApplyChanges()
System.Boolean |
public override bool CanResolveForPropertyFilter(InspectorProperty property)
InspectorProperty | property |
System.Boolean |
public bool CheckHasLengthConflict()
System.Boolean |
public abstract bool ChildPropertyRequiresRefresh(int index, InspectorPropertyInfo info)
System.Int32 | index | |
InspectorPropertyInfo | info |
System.Boolean |
protected abstract void Clear(TCollection collection)
TCollection | collection |
protected abstract bool CollectionIsReadOnly(TCollection collection)
TCollection | collection |
System.Boolean |
public void EnqueueChange(Action action, CollectionChangeInfo info)
System.Action | action | |
CollectionChangeInfo | info |
public void InvokeOnAfterChange(CollectionChangeInfo info)
CollectionChangeInfo | info |
public void InvokeOnBeforeChange(CollectionChangeInfo info)
CollectionChangeInfo | info |
protected virtual void OnCollectionChangesApplied()
public void QueueAdd(object value, int selectionIndex)
System.Object | value | |
System.Int32 | selectionIndex |
public void QueueAdd(object[] values)
System.Object[] | values |
public void QueueClear()
public void QueueRemove(object value, int selectionIndex)
System.Object | value | |
System.Int32 | selectionIndex |
public void QueueRemove(object[] values)
System.Object[] | values |
protected abstract void Remove(TCollection collection, object value)
TCollection | collection | |
System.Object | value |
public event Action<CollectionChangeInfo> OnAfterChange
public event Action<CollectionChangeInfo> OnBeforeChange