EditorGUI.TagField
Declaration
public static string TagField(Rect position, string tag, GUIStyle style = EditorStyles.popup);public static string TagField(Rect position, string label, string tag, GUIStyle style = EditorStyles.popup);public static string TagField(Rect position, GUIContent label, string tag, GUIStyle style = EditorStyles.popup);Параметры
| Параметр | Описание |
|---|---|
| должность | Прямоугольник на экране, который будет использоваться для поля. |
| метка | Факультативный знак перед полем. |
| метка | Тег, который показывает поле. |
| стиль | Факультативно GUIStyle. |
Возвращаемое значение
строка Тег, выбранный пользователем.
Описание
Создает поле выбора тегов.
Поле метки в окне редактора.
using UnityEngine; using UnityEditor;
// Change the Tag and/or the layer of the selected GameObjects.
class EditorGUITagLayerField : EditorWindow { string selectedTag = ""; int selectedLayer = 0;
[MenuItem("Examples/Tag - Layer for Selection")] static void Init() { EditorWindow window = GetWindow<EditorGUITagLayerField>(); window.position = new Rect(0, 0, 350, 70); window.Show(); }
void OnGUI() { selectedTag = EditorGUI.TagField( new Rect(3, 3, position.width / 2 - 6, 20), "New Tag:", selectedTag); selectedLayer = EditorGUI.LayerField( new Rect(position.width / 2 + 3, 3, position.width / 2 - 6, 20), "New Layer:", selectedLayer);
if (Selection.activeGameObject) { if (GUI.Button(new Rect(3, 25, 90, 17), "Change Tags")) { foreach (GameObject go in Selection.gameObjects) go.tag = selectedTag; }
if (GUI.Button(new Rect(position.width - 96, 25, 90, 17), "Change Layers")) { foreach (GameObject go in Selection.gameObjects) go.layer = selectedLayer; } } }
void OnInspectorUpdate() { Repaint(); } }