internal void RefreshComponentList() { _showComponents = EditorSettings.ReferenceShowComponents; _showSkinnableComponents = EditorSettings.ReferenceShowSkinnableComponents; _showSkins = EditorSettings.ReferenceShowSkins; _selectedIndex = -1; _selectionChanged = false; _classes.Clear(); var allClasses = GuiReflector.GetAllLoadedTypes(); foreach (var type in allClasses) { if (typeof(Component).IsAssignableFrom(type)) { if (!string.IsNullOrEmpty(_searchText) && !PassesSearchFilter(type.FullName, _searchText)) { /*!type.FullName.ToUpper().Contains(_searchText.ToUpper())*/ continue; } _classes.Add(type); } } _classes.Sort(TypeSort); //Debug.Log("_classes: " + _classes.Count); List <GUIContent> contentList = new List <GUIContent>(); foreach (var @class in _classes) { var isSkinnableComponent = typeof(SkinnableComponent).IsAssignableFrom(@class); var isSkin = typeof(Skin).IsAssignableFrom(@class); var isSimpleComponent = !isSkinnableComponent && !isSkin; var texture = GuiComponentEvaluator.EvaluateComponentRowIcon(@class); if (_showComponents && isSimpleComponent || _showSkinnableComponents && isSkinnableComponent || _showSkins && isSkin) { contentList.Add(new GUIContent(" " + @class.FullName, texture)); } } _contents = contentList.ToArray(); //Debug.Log("_contents: " + _contents.Length); }
public override Texture GetComponentIcon(Type type) { return(GuiComponentEvaluator.EvaluateComponentRowIcon(type)); //return TextureCache.Instance.Component; }