Update README-RU.md

This commit is contained in:
Mikhail 2023-07-04 04:05:27 +08:00 committed by GitHub
parent 9e465588d4
commit 9b28349630
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,8 +42,9 @@
* [Пример для Unity](#Пример-для-Unity) * [Пример для Unity](#Пример-для-Unity)
* [Общий пример](#Общий-пример) * [Общий пример](#Общий-пример)
* [Debug](#Debug) * [Debug](#Debug)
* [Debug-Атрибуты](#Debug-Атрибуты) * [Атрибуты](#Атрибуты)
* [EcsDebug](#EcsDebug) * [EcsDebug](#EcsDebug)
* [Профилирование](#Профилирование)
* [Расширения](#Расширения) * [Расширения](#Расширения)
* [FAQ](#FAQ) * [FAQ](#FAQ)
@ -558,14 +559,17 @@ public class EcsRoot
# Debug # Debug
Фреймворк предоставляет дополнительные инструменты для отладки и логирования, не зависящие от среды. Фреймворк предоставляет дополнительные инструменты для отладки и логирования, не зависящие от среды.
## Debug-Атрибуты ## Атрибуты
В чистом виде дебаг-атрибуты не имеют применения, но используются в интеграциях с движками для задания отображения в отладочных инструментах и редакторах. В чистом виде дебаг-атрибуты не имеют применения, но могут быть использованы для генерации автоматической документации и используются в интеграциях с движками для задания отображения в отладочных инструментах и редакторах.
``` c# ``` c#
using DCFApixels.DragonECS; using DCFApixels.DragonECS;
// Задает пользовательское название типа, по умолчанию используется имя типа. // Задает пользовательское название типа, по умолчанию используется имя типа.
[DebugName("SomeComponent")] [DebugName("SomeComponent")]
// Задает пользовательское название типа, по умолчанию используется имя типа.
[DebugGroup("Abilities/Passive/")]
// Задает цвет типа в системе rgb, где каждый канал принимает значение от 0 до 255, по умолчанию белый. // Задает цвет типа в системе rgb, где каждый канал принимает значение от 0 до 255, по умолчанию белый.
[DebugColor(DebugColor.Red)] // или [DebugColor(255, 0, 0)] [DebugColor(DebugColor.Red)] // или [DebugColor(255, 0, 0)]
@ -577,12 +581,47 @@ using DCFApixels.DragonECS;
public struct Component { } public struct Component { }
``` ```
## EcsDebug ## EcsDebug
Имеет набор методов для отладки и логирования. Реализован как статический класс вызывающий методы Debug-сервисов. Debug-сервисы являются посредниками между системами отладки среды и EcsDebug. Это позволяет не изменяя отладочный код проекта, переносить его на другие движки, достаточно только реализовать специальный Debug-сервис. Имеет набор методов для отладки и логирования. Реализован как статический класс вызывающий методы Debug-сервисов. Debug-сервисы - это посредники между системами отладки среды и EcsDebug. Это позволяет не изменяя отладочный код проекта, переносить проект на другие движки, достаточно только реализовать специальный Debug-сервис.
По умолчанию используется `DefaultDebugService` который выводит логи в консоль. Для реализации пользовательского создайте класс наследуемый от `DebugService` и реализуйте абстрактные члены класса. По умолчанию используется `DefaultDebugService` который выводит логи в консоль. Для реализации пользовательского создайте класс наследуемый от `DebugService` и реализуйте абстрактные члены класса.
``` csharp
// Логирование.
EcsDebug.Print("Message");
// Логирование с тегом.
EcsDebug.Print("Tag", "Message");
// Прерывание игры.
EcsDebug.Break();
// Установка другого Debug-Сервиса.
EcsDebug.Set<OtherDebugService>();
```
## Профилирование
``` csharp
// Создание маркера с именем SomeMarker.
private static readonly EcsProfilerMarker marker = new EcsProfilerMarker("SomeMarker");
...
marker.Begin();
// Код для которого замеряется скорость.
marker.End();
// или
using (marker.Auto())
{
// Код для которого замеряется скорость.
}
```
# Расширения # Расширения
* [Автоматическое внедрение зависимостей](https://github.com/DCFApixels/DragonECS-AutoInjections) * [Автоматическое внедрение зависимостей](https://github.com/DCFApixels/DragonECS-AutoInjections)
* [Поддержка классической C# многопоточности](https://github.com/DCFApixels/DragonECS-ClassicThreads) * [Поддержка классической C# многопоточности](https://github.com/DCFApixels/DragonECS-ClassicThreads)
* Отношения (Work in progress)
* Интеграция с движком Unity (Work in progress) * Интеграция с движком Unity (Work in progress)
# FAQ # FAQ