Страница 1 из 2

Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 11:42
stimul
Проголосуйте, пожалуйста, за добавление навигации в окне инспектора. Как в Softimage, к примеру

http://feedback.unity3d.com/suggestions ... image-tabs

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 12:46
Paul Siberdt
А зачем это реализовывать Юнитекам? Парент выбирается курсорной стрелкой влево, по объектам бегать можно курсорными стрелками вверх и вниз.
Если вам нужны эти операции в инспекторе - создайте свое окошко и продублируйте функионал курсорных кнопок.

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 14:23
stimul
Paul Siberdt писал(а):А зачем это реализовывать Юнитекам? Парент выбирается курсорной стрелкой влево, по объектам бегать можно курсорными стрелками вверх и вниз.
Если вам нужны эти операции в инспекторе - создайте свое окошко и продублируйте функионал курсорных кнопок.


Вы немного не так поняли функционал кнопок Next и Previous. Это переходы между объектами которые когда-либо были отображены в инспекторе. Т.е. выбор активного объекта в зависимости от его очередности появления в инспекторе, а не соседних объектов по окну Иерархии.


Вот картинка. Сейчас в инспекторе активен ОБъект2, а до него был активен Объект 1. Эти кнопки позволят быстро выбирать из этих двух объектов, без использования окна Иерархии. Представьте, что Древо объектов GameObject7-GameObject2 было бы закрытым. Сколько времени тратится чтобы выделить Объект 1? А если в сцене большое количество объектов между ОБъект2 и GameObjetct7, что придется использовать полосу прокрутки.


И еще. Вот это не будет работать из окна инспектора:
"Парент выбирается курсорной стрелкой влево, по объектам бегать можно курсорными стрелками вверх и вниз."

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 14:31
Paul Siberdt
Этот функционал вы тоже можете сделать самостоятельно через Object.GetInstanceID.
Запрашивайте предыдущйи ID или следующий от selected :) Нет?

Ща сам попробую...

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 14:41
stimul
Если бы мог самостоятельно, я бы не писал сюда. Что ж вы так разработчиков ограждаете от идей пользователей?

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 14:45
Paul Siberdt
Попробовал нахрапом... оказывается, айдишники выдаются не последовательно, инты выскакивают рандомные :)

Ничего не ограждаю я, просто не вижу смысла в операциях. Не могу пока представить рабочего процесса с их использованием. Чтобы подписать запрос, надо, согласитесь, понять и согласиться с тем, под чем подписываешься. :)

Update.. оказалось, не рандомны айдишники, а идут на убывание...

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:06
Paul Siberdt
Вот Editor функция, что селектит следующий созданный объект сцены:
Синтаксис:
Используется csharp
    void GetNextObjectByID()
    {
        if (Selection.activeTransform == null)
        {
            Debug.Log("Select some object first.");
            return;
        }
        selection = Selection.activeTransform;

        var targetId = int.MinValue;
        var resultId = targetId;
        var startId = selection.GetInstanceID();

        Debug.Log("Start id: " + startId);

        Transform[] ts = FindObjectsOfType(typeof(Transform)) as Transform[];

        foreach (var t in ts)
        {
            targetId = t.GetInstanceID();

            if ((targetId > resultId) && (targetId < startId))
            {
                selection = t;
                resultId = targetId;
            }
        }
        Selection.activeTransform = selection;
        Debug.Log("new id: " + resultId + "\n------------------------------------");
    }


Таким же макаром можно найти предшествующий. Это при условии, что айдишники всегда раздаются с убыванием значения. Я никогда не интересовался этим. ;;)

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:23
stimul
Paul Siberdt писал(а):Ничего не ограждаю я, просто не вижу смысла в операциях. Не могу пока представить рабочего процесса с их использованием.


такое же использование как и у кнопок "назад" "вперед" в браузерах, "nagivate backward" "nagivate forward" в visual studio и тд.

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:27
Paul Siberdt
Мнэээ... ну, "назад" в бравзере я пользую, да, а про кнопки VS даже не слыхивал :)

Я тут подумал, что мне полезнее было бы бегать не по цепочке создания объектов, а по цепочке их выделения. Например, выделил камеру, потом тыкнул в какой-то объект, сделал что-нить, а потом бах - жмешь кнопку, и автоматом возвращаешься в камеру. Но и это все делается на уровне кастомизации редактора, а не в качестве списка новых фич интерфейса редактора. :)

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:30
stimul
как сделаете, скиньте скриптик. Спасибо.

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:31
Paul Siberdt
Лени-и-и-иво жеж :D

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:34
stimul
ну тогда голосуй за идею)
ссылка в первом посте. (даже оттуда сюда копипастить лень)

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:37
Paul Siberdt
Дык, половину идеи я уже выше на два (своих) поста показал. А как на сайте Юнити проголосовать только за вторую половину идеи? :)

Глянте функцию, замените в нужном месте плюс на минус и больше на меньше и будет вам вторая половина без всяких там голосований.

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:39
stimul
как сделаете скриптик, скиньте. спасибо. 2.0

Re: Кнопки для навигации в инспекторе "previous,next, parent"

СообщениеДобавлено: 20 май 2015, 15:59
Paul Siberdt
Редиска. Нехороший человек.
IDNavigator.cs - скрипт в папку Editor
Outer.cs - скрипт куда угодно