Системы
Системы содержат логику и взаимодействую с сущностями имеющими необходимые компоненты.
Чтобы реализовать систему, необходимо создать новый класс и наследовать его от класса ISystem
.
public class SomeSystem : ISystem{ // Создаем выборку сущностей содержащие компоненты private readonly QueryDescription _description = new QueryDescription().WithAll<FooComponent>();
public void Run(World world) { world.Query(in _description, (ref FooComponent component) => { // Производим какие-нибудь манипуляция над нашим компонентом }); }}
После реализации системы ее необходимо зарегистрировать в приложении или в плагине.
app.AddSystem<OnUpdate, SomeSystem>();
Метод AddSystem
принимает 2 класса в шаблонах. Первый обозначает при каком действии система будет вызываться, второй наша новая система.
Всего классов действий существует:
OnStart
- при инициализации приложенияOnLoad
- при загрузке контента приложенияOnUpdate
- при каждом обновлении кадраOnDraw
- при каждой отрисовки кадра