UIToolkit Sample uxml로 전환
This commit is contained in:
@@ -84,7 +84,7 @@ namespace UVC.UIToolkit
|
||||
}
|
||||
|
||||
/// <summary>플레이스홀더 텍스트</summary>
|
||||
[UxmlAttribute]
|
||||
[UxmlAttribute("placeholder")]
|
||||
public string Placeholder
|
||||
{
|
||||
get => textEdition.placeholder;
|
||||
@@ -92,7 +92,7 @@ namespace UVC.UIToolkit
|
||||
}
|
||||
|
||||
/// <summary>에러 메시지</summary>
|
||||
[UxmlAttribute]
|
||||
[UxmlAttribute("error-message")]
|
||||
public string ErrorMessage
|
||||
{
|
||||
get => _errorMessage;
|
||||
@@ -104,7 +104,7 @@ namespace UVC.UIToolkit
|
||||
}
|
||||
|
||||
/// <summary>활성화 상태</summary>
|
||||
[UxmlAttribute]
|
||||
[UxmlAttribute("is-enabled")]
|
||||
public bool IsEnabled
|
||||
{
|
||||
get => _isEnabled;
|
||||
@@ -139,7 +139,7 @@ namespace UVC.UIToolkit
|
||||
}
|
||||
|
||||
/// <summary>스타일 변형</summary>
|
||||
[UxmlAttribute]
|
||||
[UxmlAttribute("variant")]
|
||||
public InputFieldVariant Variant
|
||||
{
|
||||
get => _variant;
|
||||
@@ -176,10 +176,9 @@ namespace UVC.UIToolkit
|
||||
SubscribeToThemeChanges();
|
||||
|
||||
// UXML에서 로드될 때 속성이 설정된 후 UI 갱신
|
||||
RegisterCallback<AttachToPanelEvent>(_ =>
|
||||
{
|
||||
UpdateVariant();
|
||||
});
|
||||
// Unity 6의 소스 생성기는 Deserialize에서 필드에 직접 값을 할당하므로
|
||||
// AttachToPanelEvent를 사용하여 패널에 연결된 후 UI를 갱신
|
||||
RegisterCallback<AttachToPanelEvent>(OnAttachToPanel);
|
||||
}
|
||||
|
||||
public UTKInputField(string label, string placeholder = "") : this()
|
||||
@@ -237,6 +236,17 @@ namespace UVC.UIToolkit
|
||||
#endregion
|
||||
|
||||
#region Event Handlers
|
||||
private void OnAttachToPanel(AttachToPanelEvent evt)
|
||||
{
|
||||
// UXML 속성이 설정된 후 한 번만 UI 갱신
|
||||
UnregisterCallback<AttachToPanelEvent>(OnAttachToPanel);
|
||||
UpdateVariant();
|
||||
|
||||
// IsEnabled 상태 적용
|
||||
SetEnabled(_isEnabled);
|
||||
EnableInClassList("utk-input--disabled", !_isEnabled);
|
||||
}
|
||||
|
||||
private void OnTextValueChanged(ChangeEvent<string> evt)
|
||||
{
|
||||
OnValueChanged?.Invoke(evt.newValue);
|
||||
|
||||
Reference in New Issue
Block a user