이 예제에서는 토글을 사용하여 조건부 UI를 만듭니다.
이 예제에서는 두 개의 토글이 있는 커스텀 에디터 창을 생성합니다.토글을 사용하여 다음을 수행할 수 있습니다.
이 예제에서 생성한 완성된 파일은 GitHub 저장소에서 확인할 수 있습니다.
예제를 생성하려면 다음 단계를 따르십시오.
임의의 템플릿을 사용하여 Unity 프로젝트를 생성합니다.
프로젝트(Project) 창에서 Editor
라는 폴더를 만듭니다.
Editor
폴더에 다음 콘텐츠로 ToggleExample
이라는 이름의 C# 스크립트 파일을 생성합니다.
using UnityEngine;
using UnityEditor;
using UnityEngine.UIElements;
namespace Samples.Editor.Controls
{
public class ToggleExample :EditorWindow
{
private Toggle showToggle;
private Toggle activateToggle;
private Label labelToShow;
private Button buttonToActivate;
[MenuItem("Window/ToggleExample")]
public static void OpenWindow()
{
var window = GetWindow<ToggleExample>("Controls:Toggle Sample");
window.minSize = new Vector2(200, 170);
EditorGUIUtility.PingObject(MonoScript.FromScriptableObject(window));
}
public void CreateGUI()
{
showToggle = new Toggle("Show label")
{
value = true
};
activateToggle = new Toggle("Active button")
{
value = true
};
labelToShow = new Label("This label is shown when the above toggle is set to On");
buttonToActivate = new Button(() => Debug.Log("Button pressed!"))
{
text = "Active if above toggle is On"
};
rootVisualElement.Add(showToggle);
rootVisualElement.Add(labelToShow);
rootVisualElement.Add(activateToggle);
rootVisualElement.Add(buttonToActivate);
showToggle.RegisterValueChangedCallback(evt => labelToShow.visible = evt.newValue);
activateToggle.RegisterValueChangedCallback(evt => buttonToActivate.SetEnabled(evt.newValue));
}
}
}
예제를 사용해 보려면 메뉴에서 Window > ToggleExample을 선택합니다.