/*private static string GetInterfaces(Type componentType) { var interfaces = componentType.GetInterfaces(); var list = new List<string>(); foreach (Type type in interfaces) { list.Add(type.Name); } return string.Join(", ", list.ToArray()); }*/ private static string GetSubclasses(Type componentType) { var list = new List<string>(); foreach (Type type in GlobalTypeDictionary.Instance.Values) { if (type.BaseType == componentType) list.Add(type.Name); } return list.Count == 0 ? "-" : string.Join(", ", list.ToArray()); }
/// <summary> /// Adds a popup to popup stage /// </summary> /// <param name="popup">A popup to add</param> /// <param name="parent">Parent component (for position calculations)</param> /// <param name="modal">Is this a modal popup</param> /// <param name="centered">Should popup be centered</param> /// <param name="keepCenter">Should popup stay centered after the screen resize</param> public void AddPopup(DisplayListMember popup, DisplayObjectContainer parent, bool modal, bool centered, bool keepCenter) { #if TRIAL /* HACK CHECK */ Acme acme = (Acme) Framework.GetComponent<Acme>(true); if (null == acme || !acme.gameObject.activeInHierarchy/*active*/ || !acme.enabled) return; #endif if (_popups.Contains(popup)) return; #if DEBUG if (DebugMode) { Debug.Log("AddPopup"); } #endif List<PopupOption> options = new List<PopupOption> { new PopupOption(PopupOptionType.Parent, parent), new PopupOption(PopupOptionType.Modal, modal), new PopupOption(PopupOptionType.Centered, centered), new PopupOption(PopupOptionType.KeepCenter, keepCenter) }; AddPopup(popup, options.ToArray()); }
private static string GetInheritance(Type componentType) { List<string> list = new List<string>(); while (null != componentType && (componentType != typeof(Component).BaseType)) // all up to Component { list.Add(componentType.Name); componentType = componentType.BaseType; } return string.Join(" → ", list.ToArray()); }
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); }