Jump to content

Как мне через плагин добавить на ноду на сцене компонент C#?


photo

Recommended Posts

Добрый день. Перерыл все справки, но так и не нашёл. У меня в папке проекта есть скрипт на C# test.cs и есть плагин (ваш шаблон EngineGuiWindowPlugin). Так вот - через этот плагин я хочу на выбранный объект добавить данный компонент C#. Как это сделать?

void add_rotator_to_selected_nodes()
{
    if (::UnigineEditor::SelectorNodes *selector = ::UnigineEditor::Selection::getSelectorNodes())
    {
        for (const NodePtr &node : selector->getNodes())
            ComponentSystem::get()->addComponent<Rotator>(node);
    }
}

Пробовал через простую замену Rotator на название класса C# скрипта - получаю ошибку, что не может найти. Помогите, пожалуйста.

Link to comment

Приветствую.

Для начала хотел бы уточнить, что C# компонентная система и C++ компонентная система никак не связаны и их компоненты соответственно тоже.

Но вы можете из кода накинуть C# компоненту на ноду, используя Property файл, соответствующий каждой C# компоненте:

void add_rotator_to_selected_nodes()
{
    if (const ::UnigineEditor::SelectorNodes *selector = ::UnigineEditor::Selection::getSelectorNodes())
    {
        const UGUID property_guid = FileSystem::getGUID("test.cs");
        for (const NodePtr &node : selector->getNodes())
        {
            node->addProperty(property_guid);
        }
    }
}
Link to comment
×
×
  • Create New...