Initial commit

This commit is contained in:
Samsonium
2026-09-28 14:46:25 +03:00
commit 737ec46a06
13 changed files with 247 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
# Класс `Engine`
Класс `Engine` является основной сущностью, которая управляет всем процессом игры.
Для его инициализации нужен список подключаемых модулей, которые он провалидирует на совместимость, а затем запустит.
+16
View File
@@ -0,0 +1,16 @@
# Модули движка
Движок Magic Scrolls строится на основе модульной архитектуры. По-умолчанию, без модулей, движок предоставляет:
- Событийную шину
- Реестр модулей
- Публичный API для модулей
Вся остальная логика, включая REST API, realtime коммуникации и игровые фичи реализуются через модули, которые могут общаться между собой посредством событийной шины.
Игровой модуль реализуется через свой основной класс, который наследуется от `MscEngineModule`. Сам модуль хранит о себе основную информацию в виде:
- Имени модуля, для записи в реестр и обращении;
- Ревизии модуля, для проверки зависимостей;
- Список зависимостей, описываемых как карта "название требуемого модуля" <-> "диапазон допустимых ревизий" (`MscRevisionRange`)