Skip to content

Commit 9d1f0b4

Browse files
committedJan 18, 2023
2 parents 05bb10a + 43a9386 commit 9d1f0b4

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed
 

‎README.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# DoorsAndButtons
22

3-
1. Часов потрачено 11
4-
2. Системы который должны быть запущены на сервере:<br>
5-
2.1. CheckButtonEnterSystem<br>
6-
2.2. CheckButtonLeaveSystem<br>
7-
2.3. FindButtonLinkByIdSystem<br>
8-
2.4. UpdateDoorMovingByDoorStateSystem<br>
9-
2.5. UpdateDoorStateByButtonSystem<br>
10-
2.6. UpdateMovingSystem<br>
11-
2.7. UserInputRequestProcessingSystem<br>
12-
13-
Для вашего удобства я собрал консольную тестовую версию "сервера" без Unity. Посмотреть можно тут: https://github.com/DizzyJump/DoorsAndButtonsNoUnity
3+
Демонстрационный проект на котором я отрабатываю различные идеи связанные с архитектурой и дизайном кода.
4+
5+
В данном проекте я попытался объединить сервисную архитектуру управляющую жизненным циклом игры с ECS подходом к реализации геймплейной логики.
6+
Проект реализован в обвязке из DI фреймворка Zenject.
7+
8+
Интересной особенностью проекта является то, что геймплейная логика инкапсулированная в GameplayModeService не только реализована ECS-way, но так же реализована полностью отвязанной от движка Unity таким образом, что бы была возможность без проблем вынести её на сервер где нет Unity и использовать один и тот же код как на сервере так и на клиенте где могут быть разные архитектурные и инфраструктурные реализации.
9+
10+
Высокоуровневые требования были следующими:
11+
1. Расширяемая архитектура Unity-приложения
12+
2. Геймплейная часть должна быть реализована полностью отвязанной от движка Unity. Должна быть возможность вынести геймплейную логику в другую среду, например, на сервер. Геймплей должен быть реализован ECS-way с использованием LeoEcs.
13+
3. Продемонстрировать подход к следующим моментам: управление жизненным циклом игры, работа с зависимостями, работа с UI.

0 commit comments

Comments
 (0)
Please sign in to comment.