Unity 사용자 매뉴얼 - Foldout 요소
개요
Foldout 요소는 Unity의 사용자 인터페이스(UI)에서 축소 가능한 섹션을 나타냅니다. 사용자가 Foldout의 헤더를 클릭함으로써 각 요소를 숨기거나 표시할 수 있습니다. 이 문서에서는 Foldout의 사용법과 관련된 기본적인 정보 및 활용 예제를 제공합니다.
Foldout 구성 요소
구성 요소 | 설명 |
---|---|
Label | Foldout의 이름을 나타내는 텍스트 레이블입니다. |
Toggle | 사용자 인터페이스에서 Foldout을 열고 닫는 기능을 제공하는 요소입니다. |
Container | Foldout 내에서 숨기거나 표시할 시각적 요소를 포함하는 컨테이너입니다. |
Foldout 생성 예제
다음은 Foldout을 생성하고, 두 개의 버튼을 포함하는 UXML 코드입니다.
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<ui:Foldout text="Foldout" name="MyFoldout" value="true">
<ui:Button text="First item" />
<ui:Button text="Second item" />
</ui:Foldout>
</ui:UXML>
사용자 행동 반응
Foldout과 Toggle은 사용자 태스크에 따라 동작 이벤트에 반응합니다. Foldout은 INotifyValueChanged<bool>
인터페이스를 통해 토글에 연결할 수 있습니다. 아래의 C# 코드 스니핏은 Foldout을 생성하거나 값 변경 상황을 감지하는 예제입니다.
// Create a new foldout, add two elements to it and add it to the container
var cSharpFoldout = new Foldout {text = "Elements"};
cSharpFoldout.Add(new Label("Indented Label"));
cSharpFoldout.Add(new Slider("Indented Slider", 0, 100));
container.Add(cSharpFoldout);
cSharpFoldout.RegisterValueChangedCallback(e =>
{
// Check whether the foldout is expanded
if (cSharpFoldout.value)
{
Debug.Log("Foldout is expanded");
}
else
{
Debug.Log("Foldout is collapsed");
}
});
C# 클래스 및 네임스페이스
Foldout 클래스 정보: - C# 클래스: Foldout - 네임스페이스: UnityEngine.UIElements - 기본 클래스: BindableElement
UXML 속성
Foldout 요소의 주요 속성은 다음과 같습니다:
속성 | 타입 | 설명 |
---|---|---|
text | string | Foldout의 레이블 텍스트입니다. |
value | boolean | Foldout의 현재 상태를 나타냅니다. (true: 열림, false: 닫힘) |
속성 상속 관계
Foldout은 기본 클래스에서 다음 속성을 상속받습니다:
속성 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스 가능 여부입니다. |
tabindex | int | 포커스를 정렬하는 데 사용되는 정수입니다. |
추가 리소스
이 문서에서는 Foldout 요소를 적용하고 활용하는 방법에 대한 기본적인 내용을 다루었습니다. 추가적으로 UI Toolkit에 대한 다양한 공식 문서와 예제를 통해 더 많은 정보를 얻을 수 있습니다.
Unity 사용자 인터페이스 구축 시 Foldout 요소를 적극적으로 활용해 보세요!