update Readme

This commit is contained in:
Mikhail 2023-12-22 17:31:52 +08:00
parent 3cfdce4024
commit 6fcd27492c
2 changed files with 57 additions and 42 deletions

View File

@ -13,43 +13,46 @@
| Languages: | [Русский](https://github.com/DCFApixels/DragonECS/blob/main/README-RU.md) | [English(WIP)](https://github.com/DCFApixels/DragonECS) |
| :--- | :--- | :--- |
Данный [ECS](https://en.wikipedia.org/wiki/Entity_component_system) Фреймворк нацелен на максимальную удобность, модульность, расширяемость и производительность динамического изменения сущностей. Без генерации кода и зависимостей.
> **Warning**: Проект в стадии разработки. API может меняться.
Данный [ECS](https://en.wikipedia.org/wiki/Entity_component_system) Фреймворк нацелен на максимальную удобность, модульность, расширяемость и производительность динамического изменения сущностей. Без генерации кода и зависимостей. Вднохновлен [LeoEcs](https://github.com/Leopotam/ecslite).
> [!WARNING] Проект в стадии разработки. API может меняться.
> Readme еще не завершен
## Оглавление
* [Установка](#Установка)
* [Unity-модуль](#Unity-модуль)
* [В виде иходников](#В-виде-иходников)
* [Версионирование](#Версионирование)
* [Основные концепции](#Основные-концепции)
* [Entity](#Entity)
* [Component](#Component)
* [System](#System)
* [Концепции фреймворка](#Концепции-фреймворка)
* [Пайплайн](#Пайплайн)
* [Построение](#Построение)
* [Внедрение зависимостей](#Внедрение-зависимостей)
* [Модули](#Модули)
* [Слои](#Слои)
* [Процессы](#Процессы)
* [Мир](#Мир)
* [Пул](#Пул)
* [Группа](#Группа)
* [Аспект](#Аспект)
* [Запрос](#Запрос)
* [Корень ECS](#Корень-ECS)
* [Пример для Unity](#Пример-для-Unity)
* [Общий пример](#Общий-пример)
* [Гибридность](#Гибридность)
* [Debug](#Debug)
* [Атрибуты](#Атрибуты)
* [EcsDebug](#EcsDebug)
* [Профилирование](#Профилирование)
* [Расширения](#Расширения)
* [FAQ](#FAQ)
- [DragonECS - C# Entity Component System Framework](#dragonecs---c-entity-component-system-framework)
- [Оглавление](#оглавление)
- [Установка](#установка)
- [Версионирование](#версионирование)
- [Основные концепции](#основные-концепции)
- [Entity](#entity)
- [Component](#component)
- [System](#system)
- [Концепции фреймворка](#концепции-фреймворка)
- [Пайплайн](#пайплайн)
- [Построение](#построение)
- [Внедрение зависимостей](#внедрение-зависимостей)
- [Модули](#модули)
- [Слои](#слои)
- [Процессы](#процессы)
- [Мир](#мир)
- [Компоненты мира](#компоненты-мира)
- [Пул](#пул)
- [Аспект](#аспект)
- [Запросы](#запросы)
- [Группа](#группа)
- [Корень ECS](#корень-ecs)
- [Пример для Unity](#пример-для-unity)
- [Общий пример](#общий-пример)
- [Гибридность](#гибридность)
- [Debug](#debug)
- [Атрибуты](#атрибуты)
- [EcsDebug](#ecsdebug)
- [Профилирование](#профилирование)
- [Расширения](#расширения)
- [FAQ](#faq)
- ['ReadOnlySpan\<\>' could not be found](#readonlyspan-could-not-be-found)
- [Обратная связь](#обратная-связь)
</br></br>
</br>
# Установка
* ### Unity-модуль
@ -63,7 +66,7 @@ https://github.com/DCFApixels/DragonECS.git
### Версионирование
В DragonECS применяется следующая семантика версионирования: [Открыть](https://gist.github.com/DCFApixels/e53281d4628b19fe5278f3e77a7da9e8#file-dcfapixels_versioning_ru-md)
</br></br>
</br>
# Основные концепции
## Entity
@ -140,6 +143,9 @@ class SomeSystem : IEcsPreInitProcess, IEcsInitProcess, IEcsRunProcess, IEcsDest
}
```
> Для реализации дополнительных процессов перейдите к разделу [Процессы](#Процессы).
</br>
# Концепции фреймворка
## Пайплайн
Является контейнером и движком систем, определяя поочередность их вызова, предоставляющий механизм для сообщений между системами и механизм внедрения зависимостей. Реализован в виде класса `EcsPipeline`.
@ -563,7 +569,7 @@ public class EcsRoot
}
```
## Гибридность
Для смешивания архитектурных подходов классического OOP и ECS используется специальный пул `EcsHybridPool<T>`. Принцип работы этого пула несколько отличается от других, он упрощает поддержу наследования и полиморфизма.
Для смешивания архитектурных подходов классического OOP и ECS используется специальный пул `EcsHybridPool<T>`. Принцип работы этого пула несколько отличается от других и он упрощает поддержу наследования и полиморфизма.
<details>
<summary>Как это работает?</summary>
@ -645,7 +651,7 @@ bool isCamera = _world.GetPool<Camera>().Has(entity);
// ...
```
</br></br>
</br>
# Debug
Фреймворк предоставляет дополнительные инструменты для отладки и логирования, не зависящие от среды.
@ -708,7 +714,7 @@ using (marker.Auto())
}
```
</br></br>
</br>
# Расширения
* [Автоматическое внедрение зависимостей](https://github.com/DCFApixels/DragonECS-AutoInjections)
@ -717,7 +723,7 @@ using (marker.Auto())
* Интеграция с движком Unity (Work in progress)
<!--* Твое расширение? Если разрабатываешь свои расширения для DragonECS, дай знать и они будут добавлены сюда-->
</br></br>
</br>
# FAQ
## 'ReadOnlySpan<>' could not be found
@ -727,5 +733,9 @@ The type or namespace name 'ReadOnlySpan<>' could not be found (are you missing
```
Чтобы починить добавте директиву `ENABLE_DUMMY_SPAN` в `Project Settings/Player/Other Settings/Scripting Define Symbols`.
</br></br></br>
</br>
# Обратная связь
Discord для дискуссий [https://discord.gg/kqmJjExuCf](https://discord.gg/kqmJjExuCf)
</br></br></br>

View File

@ -5,15 +5,17 @@
<p align="center">
<img alt="Version" src="https://img.shields.io/github/package-json/v/DCFApixels/DragonECS?color=%23ff4e85&style=for-the-badge">
<img alt="License" src="https://img.shields.io/github/license/DCFApixels/DragonECS?color=ff4e85&style=for-the-badge">
<!--<img alt="Discord" src="https://img.shields.io/discord/1111696966208999525?color=%23ff4e85&label=Discord&logo=Discord&logoColor=%23ff4e85&style=for-the-badge">-->
<a href="https://discord.gg/kqmJjExuCf"><img alt="Discord" src="https://img.shields.io/discord/1111696966208999525?color=%2300b269&label=Discord&logo=Discord&logoColor=%23ffffff&style=for-the-badge"></a>
</p>
# DragonECS - C# Entity Component System Framework
| Languages: | [Русский](https://github.com/DCFApixels/DragonECS/blob/main/README-RU.md) | [English(WIP)](https://github.com/DCFApixels/DragonECS) |
| :--- | :--- | :--- |
The [ECS](https://en.wikipedia.org/wiki/Entity_component_system) Framework aims to maximize usability, modularity, extensibility and performance of dynamic entity changes. Without code generation and dependencies
> **Warning**: The project is a work in progress, API may change.
The [ECS](https://en.wikipedia.org/wiki/Entity_component_system) Framework aims to maximize usability, modularity, extensibility and performance of dynamic entity changes. Without code generation and dependencies. Inspired by [LeoEcs](https://github.com/Leopotam/ecslite).
> [!WARNING]
> The project is a work in progress, API may change.
>
> While the English version of the README is incomplete, you can view the [Russian version](https://github.com/DCFApixels/DragonECS/blob/main/README-RU.md).
# Versioning
@ -23,3 +25,6 @@ DragonECS uses this versioning semantics: [Open](https://gist.github.com/DCFApix
* [Classic C# multithreading support](https://github.com/DCFApixels/DragonECS-ClassicThreads)
* Relations (Work in progress)
* Unity integration (Work in progress)
# Feedback
Discord for discussions [https://discord.gg/kqmJjExuCf](https://discord.gg/kqmJjExuCf)