Update README-RU.md

This commit is contained in:
Mikhail 2024-05-17 11:29:25 +08:00 committed by GitHub
parent dde7d2ec54
commit 27534668f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -191,14 +191,13 @@ int e = _world.NewEntity(someSamplate);
----- -----
## Шаблон компонента ## Шаблон компонента
Чтобы компонент попал в меню `Add Component` нужно реализовать шаблон компонента. Шаблоны компонента это классы реализующие `IComponentTemplate`. Чтобы компонент попал в меню `Add Component` нужно реализовать шаблон компонента. Шаблоны компонента это типы реализующие `IComponentTemplate`.
* Упрощенная реализация: * Упрощенная реализация:
```c# ```c#
// Обязательно добавить [Serializable] к компоненту и к шаблону // Обязательно добавить [Serializable] к ттипу компонента
[Serializable] [Serializable]
struct SomeComponent : IEcsComponent { /*...*/ } struct SomeComponent : IEcsComponent { /*...*/ }
[Serializable]
class SomeComponentTemplate : ComponentTemplate<SomeComponent> { } class SomeComponentTemplate : ComponentTemplate<SomeComponent> { }
``` ```
@ -206,7 +205,6 @@ class SomeComponentTemplate : ComponentTemplate<SomeComponent> { }
```c# ```c#
[Serializable] [Serializable]
struct SomeTagComponent : IEcsTagComponent { /*...*/ } struct SomeTagComponent : IEcsTagComponent { /*...*/ }
[Serializable]
class SomeTagComponentTemplate : TagComponentTemplate<SomeComponent> { } class SomeTagComponentTemplate : TagComponentTemplate<SomeComponent> { }
``` ```
@ -214,7 +212,6 @@ class SomeTagComponentTemplate : TagComponentTemplate<SomeComponent> { }
```c# ```c#
[Serializable] [Serializable]
struct SomeComponent : IEcsComponent { /*...*/ } struct SomeComponent : IEcsComponent { /*...*/ }
[Serializable]
class SomeComponentTemplate : IComponentTemplate class SomeComponentTemplate : IComponentTemplate
{ {
[SerializeField] [SerializeField]
@ -231,12 +228,15 @@ class SomeComponentTemplate : IComponentTemplate
} }
``` ```
Чтобы компонент можно было добавить в шаблон, нужно реализовать шаблон компонента. В раскрывающемся при нажатии `Add Component` меню выбора компонента поддердивается иерархическое группирование. Производится группирование на основе мета-атрибута `[MetaGroup]`.
Компоненты в инспектрре по умолчанию отображаются окрашенными в случайный цвет сгенерированный на основе имени компонента, выбрать другой режим окраски можно в настройках фреймворка. Задать конкретный цвет можно при помощи мета-атрибута `[MetaColor]`.
Если у компонента есть мета-атрибут `[MetaDescription]`, то рядом с крестиком удаления компонента будет иконка подсказки, при наведении курсора отобразится в виде подсказки информация из `[MetaDescription]`.
</br> </br>
# Связь с GameObject # Связь с GameObject
Связываются сущности и GameObject-ы с помощью коннектов. Коннекты со стороны GameObject - `EcsEntityConnect`, со стороны сущности - `GameObjectConnect`. `EcsEntityConnect` - ключевой коннект, `GameObjectConnect` - создается/удаляется автоматически. Связываются сущности и GameObject-ы с помощью коннектов. Коннекты со стороны GameObject - `EcsEntityConnect`, со стороны сущности - `GameObjectConnect`. `EcsEntityConnect` - управляющий коннект, `GameObjectConnect` - создается/удаляется автоматически.
```c# ```c#
EcsEntityConnect connect = /*...*/; EcsEntityConnect connect = /*...*/;
entlong entity = _world.NewEntityLong(); entlong entity = _world.NewEntityLong();