public static bool reorder_List <T>(List <T> l, ListMetaData metas) { _listMetaData = metas; EditorGUI.BeginChangeCheck(); if (_currentReorderedList != l) { _currentReorderedListTypes = typeof(T).TryGetDerivedClasses(); if (_currentReorderedListTypes == null) { _currentTaggedTypes = typeof(T).TryGetTaggedClasses(); if (_currentTaggedTypes != null) { _currentReorderedListTypes = _currentTaggedTypes.Types; } } else { _currentTaggedTypes = null; } _currentReorderedType = typeof(T); _currentReorderedList = l; if (metas == null) { pegi.selectedEls.Clear(); } } l.GetReordable(metas).DoLayoutList(); return(EditorGUI.EndChangeCheck()); }
public static T enter_List <T>(this ListMetaData meta, ref List <T> list, ref bool entered, TaggedTypesCfg types, ref bool changed) => meta.enter_HeaderPart(ref list, ref entered) ? meta.edit_List(ref list, types, ref changed) : default(T);