// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. using System; using FlaxEditor.CustomEditors.Elements; using FlaxEngine; namespace FlaxEditor.CustomEditors.Editors { /// /// Default implementation of the inspector used to edit Guid properties. /// [CustomEditor(typeof(Guid)), DefaultEditor] public sealed class GuidEditor : CustomEditor { private TextBoxElement _element; /// public override DisplayStyle Style => DisplayStyle.Inline; /// public override void Initialize(LayoutElementsContainer layout) { _element = layout.TextBox(); _element.TextBox.EditEnd += OnEditEnd; } private void OnEditEnd() { if (Guid.TryParse(_element.Text, out Guid value)) { SetValue(value); } } /// public override void Refresh() { base.Refresh(); if (HasDifferentValues) { _element.TextBox.Text = string.Empty; _element.TextBox.WatermarkText = "Different values"; } else { _element.TextBox.Text = ((Guid)Values[0]).ToString("D"); _element.TextBox.WatermarkText = string.Empty; } } } }