reckfellENGINE

Архитектура редактора и безопасная итерация

Актуальные исходники, границы EditorInterface и отдельная тестовая среда.

На этой странице

Архитектура редактора

Редактор использует UI-контролы и рендеринг движка. Для расширения проекта работайте через EditorPlugin и EditorInterface; исходники C++ нужны, когда меняется встроенная реализация. Редактор не является обычным пользовательским .rscene-проектом, который достаточно открыть и пересохранить.

Где искать код

Пути ниже относительны корню Source текущего дерева:

ПутьОтветственность
editor/editor_node.cppСборка основного интерфейса и координация редактора. Имя C++-класса EditorNode — реальный внутренний идентификатор.
editor/editor_interface.cppПубличный мост к возможностям редактора, доступный также C#-инструментам.
editor/plugins/editor_plugin.cppРегистрация расширений и их контролов.
editor/docks/Панели и инфраструктура доков, включая EditorDock.
editor/project_manager/project_manager.cppОтдельный интерфейс менеджера проектов.
editor/scene/canvas_item_editor_plugin.cppОсновной 2D-редактор.
editor/scene/3d/entity_3d_editor_plugin.cppОсновной 3D-редактор.
editor/scene/3d/gizmos/Специализированные 3D-гизмо.
editor/themes/Генерация темы, шрифты, иконки и варианты оформления.
modules/Дополнительные возможности; у модулей может быть собственная редакторская часть.

Не все функции находятся в одном editor-файле. Например, Control и ресурс Theme реализованы в общих scene/gui/ и scene/resources/, а серверы ниже обслуживают и редактор, и игру.

Граница публичного API

EditorInterface даёт корневой Control, текущий редактируемый уровень, тему и другие документированные возможности. Это не обещание стабильности внутренней структуры каждого дочернего контрола.

Для панелей используйте EditorDock; для инспектора — EditorInspectorPlugin. Не копируйте всю встроенную панель ради одной команды и не связывайте плагин с локализованной подписью чужой кнопки. Внутренний обработчик допустим в узкой проверке реализации, но не становится от этого контрактом стороннего инструмента.

Изменение ядра редактора

  1. Воспроизведите проблему в маленьком проекте и определите конкретный контрол, плагин или ресурс.
  2. Найдите обработчик и его зависимости. Для нового кода сохраняйте направление зависимостей editor → scene → servers → core; существующее обратное включение не используйте как образец для нового слоя.
  3. Выберите, меняется ли только редактор или также поведение игры. Изменение общего Control может затронуть оба случая; тест редакторской панели не покрывает интерфейс экспортированной игры.
  4. Соберите отдельный target=editor по инструкции сборки. При C# учитывайте управляемый комплект.
  5. Откройте отдельный тестовый проект новым бинарным файлом. Сравните воспроизведение, включение/выключение инструмента, сохранение/открытие уровня и отмену изменений.

Этот раздел не требует автоматически менять ядро. Если задача решается плагином, проверяйте его в проекте без подмены рабочего движка. Сборка C++-редактора для этой статьи не выполнялась; карта файлов сверена с текущими исходниками.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.