EditorDebuggerPlugin
Базовый класс для реализации плагинов отладчика.
Базовый класс для реализации плагинов отладчика.
EditorDebuggerPlugin предоставляет функции, связанные с редакторской стороной отладчика.
Для взаимодействия с отладчиком экземпляр этого класса должен быть добавлен в редактор с помощью EditorPlugin.AddDebuggerPlugin.
После добавления обратный вызов EditorDebuggerPlugin._SetupSession будет вызываться для каждого EditorDebuggerSession, доступного плагину, и при создании новых (сеансы могут быть неактивны на этом этапе).
Вы можете получить доступные EditorDebuggerSession с помощью EditorDebuggerPlugin.GetSessions или получить определенный с помощью EditorDebuggerPlugin.GetSession.
Для подключения на стороне запущенной игры используйте синглтон EngineDebugger:
Примечание: Во время работы игры ReckfellApi.Print и подобные функции, вызываемые в редакторе, ничего не печатают, в журнале вывода печатаются только игровые сообщения.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
EditorDebuggerPluginКонструктор
public EditorDebuggerPlugin();Методы8
GetSessionEditorDebuggerSession
public EditorDebuggerSession GetSession(int id);Возвращает EditorDebuggerSession с указанным id.
| Имя | Тип | По умолчанию |
|---|---|---|
id | int | — |
EditorDebuggerSessionGetSessionsReckfell.Collections.Array
public Reckfell.Collections.Array GetSessions();Возвращает массив EditorDebuggerSession, в настоящее время доступный этому плагину отладчика.
Примечание: Сеансы в массиве могут быть неактивны, проверьте их состояние с помощью EditorDebuggerSession.IsActive.
Reckfell.Collections.Array_BreakpointSetInTreevoid
public virtual void _BreakpointSetInTree(Script script, int line, bool enabled);Переопределите этот метод, чтобы получать уведомления при установке точки останова в редакторе.
| Имя | Тип | По умолчанию |
|---|---|---|
script | Script | — |
line | int | — |
enabled | bool | — |
_BreakpointsClearedInTreevoid
public virtual void _BreakpointsClearedInTree();Переопределите этот метод, чтобы получать уведомления об очистке всех точек останова в редакторе.
_Capturebool
public virtual bool _Capture(string message, Reckfell.Collections.Array data, int sessionId);Переопределите этот метод для обработки входящих сообщений. session_id — это идентификатор EditorDebuggerSession, который получил message. Используйте EditorDebuggerPlugin.GetSession для извлечения сеанса. Этот метод должен возвращать true, если сообщение распознано.
| Имя | Тип | По умолчанию |
|---|---|---|
message | string | — |
data | Reckfell.Collections.Array | — |
sessionId | int | — |
bool_GotoScriptLinevoid
public virtual void _GotoScriptLine(Script script, int line);Переопределите этот метод, чтобы получать уведомления при щелчке по строке точки останова на панели точек останова отладчика.
| Имя | Тип | По умолчанию |
|---|---|---|
script | Script | — |
line | int | — |
_HasCapturebool
public virtual bool _HasCapture(string capture);Переопределите этот метод, чтобы включить получение сообщений от отладчика. Если capture — это "my_message", то сообщения, начинающиеся с "my_message:", будут переданы методу EditorDebuggerPlugin._Capture.
| Имя | Тип | По умолчанию |
|---|---|---|
capture | string | — |
bool_SetupSessionvoid
public virtual void _SetupSession(int sessionId);Переопределите этот метод, чтобы получать уведомления всякий раз, когда создается новый EditorDebuggerSession. Обратите внимание, что сеанс может быть неактивен на этом этапе.
| Имя | Тип | По умолчанию |
|---|---|---|
sessionId | int | — |