Всем привет, помогите решить задачу. У меня есть несколько классов:
1. BaseCharacter - тут мы описываем общую информацию о имени игрока его заслугах и тд.
2. SkillController - тут идет получение всех возможных для него скилов, т.е. те которые он может использовать.
Собственно, как мне правильно организовать систему скилов, для персонажа, чтобы можно было использовать скил на определенную кнопку, получить его кд для гуи, т.е. к примеру в SkillController передать только названия или id скилов.
Сейчас я просто BaseCharacter добавляю компонент контроллера скилов, а в нем, нужные скилы. Как это сделать правильно?
Возможно есть вариант гораздо проще, но в скилах мне надо получать позицию персонажа, а так же использовать update для некоторых скилов.
Вопрос некорректный - вы чуть ли не просите спроектировать всю систему.
Как бы я делал (взял из головы и не проверял на практике) - базовый класс для Скила (в нём сидят основные действия, присущие любому скилу (время жизни, активация на нажатие кнопки и др.)). Затем для каждого скила - свой скрипт, отнаследованный от базового. SkillController хранит все скилы под уникальными ID (скажем, в dictionary(ID, SkillBase)). В качестве ID можно взять enum.
Нет не так. При вызове конструктора, сначала вызываем конструктор базового Skill, куда отправляем все общие данные, а специфические для этого скилла заполняем внутри конструктора