public override void Update() { var type = Target?.GetType(); if (type != null) { var text = TypeNameResolver?.Invoke(type) ?? type.Name; if (m_Text.text != text) { m_Text.text = TypeNameResolver?.Invoke(type) ?? type.Name; NotifyChanged(); } } if ((m_Message.text ?? string.Empty) != (ErrorMessage ?? string.Empty)) { if (!string.IsNullOrEmpty(ErrorMessage)) { m_HelpBox.style.display = DisplayStyle.Flex; m_Message.text = ErrorMessage; } else { m_HelpBox.style.display = DisplayStyle.None; m_Message.text = string.Empty; } } }
public override VisualElement Build() { var typeField = Assets.LoadVisualTreeAsset(nameof(TypeInspector <T>)).CloneTree(); var label = typeField.Q <Label>("label"); label.text = DisplayName; var input = typeField.Q <VisualElement>("input"); input.RegisterCallback <MouseUpEvent>(mouseUpEvent => { var database = TypeSearcherDatabase.Populate <T>(TypeFilter, TypeNameResolver, TypeCategoryResolver); var searcher = new Searcher(database, new AddTypeSearcherAdapter(SearcherTitle)); var position = input.worldBound.min + Vector2.up * (input.worldBound.height + 19f); var alignment = new SearcherWindow.Alignment(SearcherWindow.Alignment.Vertical.Top, SearcherWindow.Alignment.Horizontal.Left); SearcherWindow.Show(EditorWindow.focusedWindow, searcher, OnTypeSelected, position, null); }); var type = Target?.GetType(); if (type != null) { m_Text = typeField.Q <TextElement>("text"); m_Text.text = TypeNameResolver?.Invoke(type) ?? type.Name; } return(typeField); }
public override VisualElement Build() { var typeField = Assets.LoadVisualTreeAsset(nameof(TypeInspector <T>)).CloneTree(); typeField.AddStyleSheetAndVariant(nameof(TypeInspector <T>)); var label = typeField.Q <Label>("label"); label.text = DisplayName; var input = typeField.Q <VisualElement>("input"); input.RegisterCallback <MouseUpEvent>(mouseUpEvent => { var database = TypeSearcherDatabase.Populate <T>(TypeFilter, TypeNameResolver, TypeCategoryResolver); var searcher = new Searcher(database, new AddTypeSearcherAdapter(SearcherTitle)); var position = input.worldBound.min + Vector2.up * (input.worldBound.height + 19f); var alignment = new SearcherWindow.Alignment(SearcherWindow.Alignment.Vertical.Top, SearcherWindow.Alignment.Horizontal.Left); SearcherWindow.Show(EditorWindow.focusedWindow, searcher, OnTypeSelected, position, null); }); m_HelpBox = typeField.Q <VisualElement>("helpbox"); var icon = m_HelpBox.Q <Image>("icon"); icon.image = EditorGUIUtility.IconContent("d_console.erroricon.sml").image; icon.scaleMode = ScaleMode.ScaleToFit; m_Message = m_HelpBox.Q <Label>("message"); if (!string.IsNullOrEmpty(ErrorMessage)) { m_HelpBox.style.display = DisplayStyle.Flex; m_Message.text = ErrorMessage; } else { m_HelpBox.style.display = DisplayStyle.None; m_Message.text = string.Empty; } var type = Target?.GetType(); if (type != null) { m_Text = typeField.Q <TextElement>("text"); m_Text.text = TypeNameResolver?.Invoke(type) ?? type.Name; } return(typeField); }
public override void Update() { var type = Target?.GetType(); if (type != null) { var text = TypeNameResolver?.Invoke(type) ?? type.Name; if (m_Text.text != text) { m_Text.text = TypeNameResolver?.Invoke(type) ?? type.Name; NotifyChanged(); } } }
public void BindToName(Type serializedType, out string assemblyName, out string typeName) { assemblyName = AssemblyNameResolver?.Invoke(serializedType); typeName = TypeNameResolver?.Invoke(serializedType); }