Beispiel #1
0
        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());
        }
Beispiel #2
0
 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);