#c# #unity3d
#c# #unity3d
Вопрос:
Пункт меню Generate Guid все время находится посередине и никогда не меняет свою позицию. Я хочу, чтобы он был выше перед копией или под камерой внизу.
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class GenerateAutomaticGuid : Editor
{
public static string guid;
private static Guid uniqueID;
[MenuItem("GameObject/Generate Guid", false, -1)]
private static void GenerateGuid()
{
}
}
Ответ №1:
Согласно документации скриптового API, я думаю, что вы используете MenuItemAttribute
неправильно.
При добавлении пунктов меню в меню «GameObject /» для создания пользовательских игровых объектов обязательно вызывайте GameObjectUtility .Установите parentandalign, чтобы убедиться, что новый GameObject правильно отображается в случае контекстного щелчка (см. Пример ниже). Ваша функция также должна вызывать Undo.RegisterCreatedObjectUndo, чтобы отменить создание и установить Selection.ActiveObject для вновь созданного объекта. Также обратите внимание, что для того, чтобы пункт меню в «GameObject /» был распространен на выпадающий список «Создание иерархии» и контекстное меню «Иерархия», он должен быть сгруппирован с другими пунктами меню создания GameObject. Этого можно достичь, установив его приоритет равным 10 (см. Пример ниже). Обратите внимание, что для устаревших целей элементы меню в «GameObject / Create Other» без явного набора приоритетов получат приоритет 10 вместо 1000 по умолчанию — мы рекомендуем использовать более описательное название категории, чем «Создать другое», и явно устанавливать приоритет 10.
[MenuItem("GameObject/MyCategory/Custom Game Object", false, 10)]
Источник: https://docs.unity3d.com/ScriptReference/MenuItem.html