Сегодня хочу поделиться еще одним простым способом добавления собственных функций в редактор Unity, а именно использованию класса ScriptableWizard.
Так же как и в прошлый раз я реализую функцию LookAt, но с использованием других средств.

Итак разбираем код:

using UnityEditor;
using UnityEngine;
 
public class LookAtWizard : ScriptableWizard
{
    // две публичные переменные, которые будут параметрами визарда
    public Transform source; // объект для поворота
    public Transform target; // цель
 
    // регистрация функции создания визарда в меню Unity
    [MenuItem("Window/Look At Wizard")]
    static void CreateWizard()
    {
        // создаем визард с одной кнопкой "Look At!"
        ScriptableWizard.DisplayWizard<LookAtWizard>("Look At", "Look At!");
 
        // если необходимо реализовать вторую
        // кнопку, то можно воспользоваться
        // другой перегрузкой метода
        // ScriptableWizard.DisplayWizard<>
        // и реализовать функцию
        // void OnWizardOtherButton ()
    }
 
    // флаг успешной настройки визарда
    private bool _wizardOk = false;
 
    // выполнение функции визарда - OnWizardCreate()
    void OnWizardCreate()
    {
        // выполняем только когда исходные данные верны
        if (_wizardOk)
        {
            source.LookAt(target);
        }
    }
 
    // функция выполняется при создании визарда
    // и при изменении исходных данных пользователем
    void OnWizardUpdate()
    {
        _wizardOk = false;
        // один из параметров не указан
        if (source == null || target == null)
        {
            // helpString выдает подсказки пользователю
            helpString = "Selcect Source and Target!";
        }
        // если цель и объект совпадают
        else if ((source == target) && (source != null))
        {
            helpString = "Source equals Target!";
        }
        else
        {
            // все проверки пройдены
            helpString = "Press \"Look At!\"!";
            _wizardOk = true;
        }
    }
}

Не забываем называть скрипт правильно (LookAtWizard.cs) и положить его в папку с названием Editor.

Вот и результат:

VN:F [1.9.3_1094]
Rating: 7.8/10 (12 votes cast)
VN:F [1.9.3_1094]
Rating: +1 (from 3 votes)
Еще один пример расширения редактора Unity, 7.8 out of 10 based on 12 ratings

2 комментария на «Еще один пример расширения редактора Unity»

  1. jessie

    “http://en.patriot-cccp.ru/index.php?option=com_content&view=article&id=612&lol= industry@uqzpo2.gentleman“>.

    сэнкс за инфу :grin:

    VA:F [1.9.3_1094]
    Rating: 5.0/5 (1 vote cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)
  2. Armando

    lewisohn@dora.progandist” rel=”nofollow”>.…

    спс….

    VA:F [1.9.3_1094]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.3_1094]
    Rating: 0 (from 0 votes)

Ваш отзыв

Вы должны войти, чтобы оставлять комментарии.



Страница 1 of 0