Сегодня речь пойдёт о такой интересной теме как проектирование гибких систем в Unity. В качестве примера я выбрал систему заклинаний так, как обычно вокруг неё обычно идут самые жаркие споры. Эту систему я разрабатывал со своими учениками в рамках недельного интенсива «проектирование в Unity». Также подобный подход я использую на своей работе и он показал себя лучшим образом. В корне он состоит в использование полиморфных Scriptable Object. Готовый код вы можете найти в репозитории потока занятий. Ссылка на папку — https://github.com/HolyMonkey/UnityDesign-1/tree/master/Assets/Scripts/Skills Перед тем как мы занялись разработкой кода, я выставил нам требования которые позволят понять границы. Проектировать без требований — есть занятие бессмысленное, а иногда и откровенно вредящее. Хорошо спроектированная система — это система которая удовлетворяет текущим требованиям и легка в понимание, поддержки, конфигурации и тестирование. Такая система и становится «расширяемой». Основные треб