Version: 2022.3
언어: 한국어

AdvancedDropdown

class in UnityEditor.IMGUI.Controls

매뉴얼로 전환

설명

Inherit from this class to implement your own drop-down control.

using UnityEditor;
using UnityEngine;
using UnityEditor.IMGUI.Controls;

class WeekdaysDropdown : AdvancedDropdown { public WeekdaysDropdown(AdvancedDropdownState state) : base(state) { }

protected override AdvancedDropdownItem BuildRoot() { var root = new AdvancedDropdownItem("Weekdays");

var firstHalf = new AdvancedDropdownItem("First half"); var secondHalf = new AdvancedDropdownItem("Second half"); var weekend = new AdvancedDropdownItem("Weekend");

firstHalf.AddChild(new AdvancedDropdownItem("Monday")); firstHalf.AddChild(new AdvancedDropdownItem("Tuesday")); secondHalf.AddChild(new AdvancedDropdownItem("Wednesday")); secondHalf.AddChild(new AdvancedDropdownItem("Thursday")); weekend.AddChild(new AdvancedDropdownItem("Friday")); weekend.AddChild(new AdvancedDropdownItem("Saturday")); weekend.AddChild(new AdvancedDropdownItem("Sunday"));

root.AddChild(firstHalf); root.AddChild(secondHalf); root.AddChild(weekend);

return root; } }

public class AdvancedDropdownTestWindow : EditorWindow { void OnGUI() { var rect = GUILayoutUtility.GetRect(new GUIContent("Show"), EditorStyles.toolbarButton); if (GUI.Button(rect, new GUIContent("Show"), EditorStyles.toolbarButton)) { var dropdown = new WeekdaysDropdown(new AdvancedDropdownState()); dropdown.Show(rect); } } }

변수

minimumSizeMinimum size of the drop-down window. By default, the drop-down will try to match the width of the given rect or the rendered content.

Public 함수

ShowCall this method to show the drop-down at the given position.

보호되는 함수

BuildRootImplement this method to generate the content of the drop-down. This method is called when the drop-down is being shown.
ItemSelectedOverride this method to get notified when an item is selected.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961