Открытие новых способностей персонажем в 2д игре на Юнити?
Как оптимально разработать систему скилов для 2D метроидвании на Unity, начиная с основы и постепенно расширяя возможности персонажа? Имеется следующая структура:
1. PlayerController (управление персонажем: движение, анимация, прыжки, атака; определение статуса "на земле" для контроля прыжков)
2. PlayerAbilities (управление способностями персонажа)
3. AbilityPickup (подбор способностей на уровне)
4. DoubleJump, Dash, MeleeAttack, Projectile, RangedAttack и другие способности
Цель - создать модульные скрипты для упрощения будущих изменений. Как лучше добавлять умения персонажу после подбора скила: вешать на персонажа или активировать уже существующий скрипт в иерархии? Будет ли проблемой, если персонаж имеет на себе скажем в конце игры 10 скилов, разбитых на отдельные мелкие скрипты, управляемые PlayerAbilities? Если у вас есть опыт в данной теме, прошу помочь советом по такой структуре.
P.S. Если немного отдалённо, то игра на подобии серии Ори или Hollow Knight, но намного проще конечно. Это так, к слову
Один из способов реализации системы скилов в 2D метроидвании на Unity - использование компонентов. Можно создать отдельные компоненты для каждой способности и добавлять их к объекту игрока при подборе соответствующего скила. Это позволит легко активировать и деактивировать способности и упростит будущие изменения. Текущая структура выглядит хорошо. Количество скриптов на персонаже не должно быть проблемой, если они хорошо организованы и управляемы.