From 9b28349630804e8582bcc032f492797f9209f9c8 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Tue, 4 Jul 2023 04:05:27 +0800 Subject: [PATCH] Update README-RU.md --- README-RU.md | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/README-RU.md b/README-RU.md index 84525c2..f687fd8 100644 --- a/README-RU.md +++ b/README-RU.md @@ -42,8 +42,9 @@ * [Пример для Unity](#Пример-для-Unity) * [Общий пример](#Общий-пример) * [Debug](#Debug) - * [Debug-Атрибуты](#Debug-Атрибуты) + * [Атрибуты](#Атрибуты) * [EcsDebug](#EcsDebug) + * [Профилирование](#Профилирование) * [Расширения](#Расширения) * [FAQ](#FAQ) @@ -558,14 +559,17 @@ public class EcsRoot # Debug Фреймворк предоставляет дополнительные инструменты для отладки и логирования, не зависящие от среды. -## Debug-Атрибуты -В чистом виде дебаг-атрибуты не имеют применения, но используются в интеграциях с движками для задания отображения в отладочных инструментах и редакторах. +## Атрибуты +В чистом виде дебаг-атрибуты не имеют применения, но могут быть использованы для генерации автоматической документации и используются в интеграциях с движками для задания отображения в отладочных инструментах и редакторах. ``` c# using DCFApixels.DragonECS; // Задает пользовательское название типа, по умолчанию используется имя типа. -[DebugName("SomeComponent")] - +[DebugName("SomeComponent")] + +// Задает пользовательское название типа, по умолчанию используется имя типа. +[DebugGroup("Abilities/Passive/")] + // Задает цвет типа в системе rgb, где каждый канал принимает значение от 0 до 255, по умолчанию белый. [DebugColor(DebugColor.Red)] // или [DebugColor(255, 0, 0)] @@ -577,12 +581,47 @@ using DCFApixels.DragonECS; public struct Component { } ``` ## EcsDebug -Имеет набор методов для отладки и логирования. Реализован как статический класс вызывающий методы Debug-сервисов. Debug-сервисы являются посредниками между системами отладки среды и EcsDebug. Это позволяет не изменяя отладочный код проекта, переносить его на другие движки, достаточно только реализовать специальный Debug-сервис. +Имеет набор методов для отладки и логирования. Реализован как статический класс вызывающий методы Debug-сервисов. Debug-сервисы - это посредники между системами отладки среды и EcsDebug. Это позволяет не изменяя отладочный код проекта, переносить проект на другие движки, достаточно только реализовать специальный Debug-сервис. По умолчанию используется `DefaultDebugService` который выводит логи в консоль. Для реализации пользовательского создайте класс наследуемый от `DebugService` и реализуйте абстрактные члены класса. + +``` csharp +// Логирование. +EcsDebug.Print("Message"); + +// Логирование с тегом. +EcsDebug.Print("Tag", "Message"); + +// Прерывание игры. +EcsDebug.Break(); + +// Установка другого Debug-Сервиса. +EcsDebug.Set(); +``` + +## Профилирование +``` csharp +// Создание маркера с именем SomeMarker. +private static readonly EcsProfilerMarker marker = new EcsProfilerMarker("SomeMarker"); + +... + +marker.Begin(); +// Код для которого замеряется скорость. +marker.End(); + +// или + +using (marker.Auto()) +{ + // Код для которого замеряется скорость. +} +``` + # Расширения * [Автоматическое внедрение зависимостей](https://github.com/DCFApixels/DragonECS-AutoInjections) * [Поддержка классической C# многопоточности](https://github.com/DCFApixels/DragonECS-ClassicThreads) +* Отношения (Work in progress) * Интеграция с движком Unity (Work in progress) # FAQ