Архитектура проекта Unity? - PullRequest
       24

Архитектура проекта Unity?

0 голосов
/ 27 апреля 2020

Я занимаюсь разработкой 2D Platformer RPG Game. В игре будет много персонажей, каждый из которых имеет разные способности (или способности). Мой вопрос заключается в том, как мне сохранить структуру моего проекта, чтобы я мог добавить столько символов или способностей, которые я хочу добавить в будущем, не внося полный беспорядок в мой код.

Например: у меня есть charcter скажем, Железный Человек, поэтому я хочу, чтобы он использовал двигатели, но, скажем, есть другой игрок, использующий Капитана Америку в качестве своего персонажа, который не может использовать двигатели. Теперь, как сделать систему так, чтобы я мог добавлять символы и способности или чтобы символы обменивались какими-либо способностями с другими во время выполнения?

Я слышал об использовании интерфейсов для улучшения кода, а также об использовании объектов сценариев, но я Я не совсем работал с ними.

Я хотел бы знать конкретный метод создания системы такого типа (если есть).

Любые ссылки на учебники будут признателен.

PS- В моей игре всего 1 персонаж, и каждый день я открываю свой проект, надеясь, что добавлю нового персонажа, но я всегда боюсь, что сломаю свой код, и я думаю, что если я немного поболтаю по inte rnet, у меня будет правильная структура, поэтому я не буду рисковать, и в итоге я просто изменю кое-что здесь и там и закрою.

1 Ответ

0 голосов
/ 27 апреля 2020

Несколько вещей, которые нужно проверить (в основном, связанных с OOP):

SOLID Видеоролики дизайна и дизайна

  1. https://unity3d.college/2017/11/24/solid-unity3d-code-architecture-open-closed-principal/
  2. https://www.youtube.com/watch?v=FGVkio4bnPQ
  3. https://www.youtube.com/watch?v=UoNumkMTx-U
  4. Много в его канале, те были всего несколько

Разработка шаблонов Код для изучения

  1. https://github.com/Naphier/unity-design-patterns
  2. https://github.com/QianMo/Unity-Design-Pattern

Наконец:

  1. Бесплатное обучение Unity (на следующий месяц или около того): https://learn.unity.com/
...