Следите за новостями GitVerse в нашем телеграм-канале

gamebox-workshop-arcade

Форк
0

6 месяцев назад
6 месяцев назад
6 месяцев назад
6 месяцев назад
7 месяцев назад
6 месяцев назад
README.md

ТЗ на Gamebox Практикум для направления Unity

Автор: Войнаренко Сергей Михайлович

Билд: ссылка

Управление:

W, A, S, D / Стрелки управления курсором — перемещение героя

Клик левой кнопкой мыши — атака

Клик правой кнопкой мыши — перезарядка

Вращение колеса мыши — увеличение / уменьшение масштаба

Escape — пауза

Структура проекта:

/Imported — дополнительные сторонние библиотеки

/Materials — материалы

/Plugins — внешние плагины

/Prefabs/

  Hero — префабы игрока и боеприпаса

  Hud — префабы HUD и дочерних элементов

  Infrastructure — префабы, необходимые для запуска игры

  Level — префабы элементов игрового уровня

  UI — префабы окон

/Resources/StaticData — классы

ScriptableObject
с настройками

/Scenes/

  Initial — сцена инициализации

  Menu — сцена главного меню

  Main — сцена игрового уровня

  EndGame — сцена завершения игры

/Scripts/

  Infrastructure/

   

GameBootstrapper.cs
— точка входа в игру

   

SceneLoader.cs
— загрузчик сцен

   States/

GameStateMachine.cs
— машина состояний игры

  Data — классы, содержащие динамические данные и статические методы

  Services/

   Input/

InputService.cs
— сервис пользовательского ввода

   Loot/

LootService.cs
— сервис выпадающих предметов

   Progress/

ProgressService.cs
— сервис прогресса игрока

   StaticData/

StaticDataService.cs
— сервис статичных данных

   Window/

WindowService.cs
— сервис окон пользовательского интерфейса

   

AllServices.cs
— контейнер сервисов для внедрения зависимостей

  Logic — вспомогательные и общие классы

  Factory/

   

GameFactory.cs
— основная фабрика

   

LootFactory.cs
— фабрика выпадающих предметов

   

UiFactory.cs
— фабрика пользовательского интерфейса

  UI — классы пользовательского интерфейса

  Level — классы игрового уровня

  Hero — классы героя

  Bullet — классы боеприпаса

/Settings/InputSystem — настройки

InputSystem

Иерархия объектов в сценах:

GameRunner — вспомогательный объект, создающий GameBootstrapper

Main Camera — основная камера

Virtual Camera — виртуальная камера Cinemachine

Directional Light — источник света

EventSystem — объект, содержащий обработчики входа, рэйкастинга и отправки событий

Plane — плоскость для конвертации координат курсора

NavMeshSurface — навигационная сетка

NavMeshGenerator — вспомогательный объект для рантайм инициализации NavMeshSurface

InputSupport — вспомогательный объект для отслеживания пользовательского ввода

Архитектура:

GameBootstrapper.cs
— точка входа. При запуске инстанциирует из префаба загрузочную штору
_curtainPrefab
, создаёт новый экземпляр класса
Game
, переводит машину состояний в
BootstrapState
и переносит себя в
DonDestroyOnLoad
.

В

BootstrapState
происходит регистрация всех сервисов, после чего происходит переход в
LoadProgressState
.

В

LoadProgressState
инициируется новый прогресс игрока или загружается сохранённый, происходит переключение в
LoadMenuState
и загружается сцена Menu.

Внедрение зависимостей происходит в

GameStateMachine
для каждого из состояний, а для создаваемых объектов — в соответствующих фабриках.

Описание

ТЗ на Gamebox Практикум для направления Unity июнь 2024

Языки

C#

  • ShaderLab
  • GLSL
  • HLSL
Сообщить о нарушении

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.