using UnityEngine.UIElements; namespace RosettaUI.UIToolkit.Builder { public partial class UIToolkitBuilder { private bool Bind_TextField(Element element, VisualElement visualElement) { if (element is not TextFieldElement textFieldElement || visualElement is not TextField textField) return false; Bind_Field(textFieldElement, textField, true); if (textFieldElement.IsMultiLine != textField.multiline) { textField.multiline = textFieldElement.IsMultiLine; } return true; } public bool Bind_Field(Element element, VisualElement visualElement) where TField : BaseField, new() { if (element is not FieldBaseElement fieldBaseElement || visualElement.GetType() != typeof(TField)) return false; Bind_Field(fieldBaseElement, (TField)visualElement, true); return true; } private void Bind_Field(FieldBaseElement element, TField field, bool labelEnable) where TField : BaseField { element.Bind(field); if (field is TextInputBaseField textInputBaseField) { textInputBaseField.isDelayed = element.Option.delayInput; } if (labelEnable) { Bind_FieldLabel(element, field); } else { // Bind時以前のVisualElementのラベルを消しとく field.label = null; } } } }