public ChooseEntetyFromListHelper InitWindow <T>() where T : DataObject
        {
            ItemEditorViewer = BaseEditorStatic.GetDataViewer <T>();
            FilterViewer     = BaseEditorStatic.GetDataFilter <T>();
            var listItems = BaseEditorStatic.DataStorager.All <T>().ToList();

            FilterViewer.InitData(new ArrayList(listItems));
            _dicItems = new Dictionary <string, DataObject>();
            listItems.ForEach(i => _dicItems.Add(string.Format("{0}-{1}", i.Id, i.Name), i));
            _btnNames = _dicItems.Keys.ToArray();

            if (ItemEditorViewer.CanShow)
            {
                for (var i = 0; i < _btnNames.Length; i++)
                {
                    if (_btnNames[i] == string.Format("{0}-{1}", ItemEditorViewer.GetCurrent().Id, ItemEditorViewer.CurrentName))
                    {
                        _currentIndex = i;
                        break;
                    }
                }
            }
            else
            {
                _currentIndex = 0;
                ItemEditorViewer.SetCurrent(_dicItems[_btnNames[_currentIndex]]);
            }
            return(this);
        }
예제 #2
0
        private void Awake()
        {
            _viewerEntity = BaseEditorStatic.GetDataViewer(CurrentBox.ObjectType);
            _viewerEntity.RefreshWindow += this.Repaint;
            _filterViewer = BaseEditorStatic.GetDataFilter(CurrentBox.ObjectType);
            _filterViewer.ChooseItemShow += item => _viewerEntity.SetCurrent(item);
            _filterViewer.RefreshWindow  += this.Repaint;

            ReloadData();
        }
예제 #3
0
        public static BaseFilterViewer InitData <T>(this BaseFilterViewer filter, IEnumerable <T> enumerable) where T : DataObject
        {
            var _filter = filter as BaseFilterViewer <T>;

            if (enumerable == null || _filter == null)
            {
                Debug.LogWarningFormat("enumerable {0} Collection {1} {2}", enumerable, _filter, typeof(T).Name);
                return(_filter);
            }
            return(_filter.InitData(enumerable.ToList()));
        }