public bool GetOrCreateTransitionField(out FoldoutTransitionField field)
        {
            var newItem = ss_Pool.CountInactive == 0;

            field = ss_Pool.Get();
            Add(field);
            return(newItem);
        }
 internal void RemoveTransition(FoldoutTransitionField field)
 {
     using (var evt = TransitionRemovedEvent.GetPooled())
     {
         evt.target = this;
         evt.index  = field.index;
         SendEvent(evt);
     }
 }
 internal void TransitionChanged(FoldoutTransitionField field, TransitionChangeType changeType)
 {
     using (var pooled = TransitionChangedEvent.GetPooled())
     {
         pooled.target     = this;
         pooled.field      = field;
         pooled.transition = field.GetTransitionData();
         pooled.changeType = changeType;
         pooled.index      = field.index;
         SendEvent(pooled);
     }
 }
        static FoldoutTransitionField MakeItem()
        {
            var foldoutField = new FoldoutTransitionField();

            foldoutField.header.SetProperty(BuilderConstants.FoldoutFieldPropertyName, foldoutField);

            foldoutField.propertyField.SetProperty(BuilderConstants.FoldoutFieldPropertyName, foldoutField);
            foldoutField.propertyField.SetProperty(BuilderConstants.InspectorStylePropertyNameVEPropertyName, StylePropertyId.TransitionProperty.UssName());

            foldoutField.durationField.SetProperty(BuilderConstants.FoldoutFieldPropertyName, foldoutField);
            foldoutField.durationField.SetProperty(BuilderConstants.InspectorStylePropertyNameVEPropertyName, StylePropertyId.TransitionDuration.UssName());

            foldoutField.timingFunctionField.SetProperty(BuilderConstants.FoldoutFieldPropertyName, foldoutField);
            foldoutField.timingFunctionField.SetProperty(BuilderConstants.InspectorStylePropertyNameVEPropertyName, StylePropertyId.TransitionTimingFunction.UssName());

            foldoutField.delayField.SetProperty(BuilderConstants.FoldoutFieldPropertyName, foldoutField);
            foldoutField.delayField.SetProperty(BuilderConstants.InspectorStylePropertyNameVEPropertyName, StylePropertyId.TransitionDelay.UssName());
            return(foldoutField);
        }