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); }
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(); }
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())); }