Это будет коротко, на этот раз мы вносим несколько последних изменений, чтобы сделать систему более расширяемой.

Это третья часть руководства по статистике персонажей. Ссылки на другие части здесь:





Есть также видеоверсия этого урока, если вы предпочитаете это:

Единственное, что осталось сделать, это сделать классы более легко расширяемыми. Для этого мы изменим все private переменные, свойства и методы на protected, а также сделаем все свойства и методы virtual.

Только скрипт CharacterStat нуждается в изменениях, и я показываю только те строки, которые нужно изменить:

Давайте также отметим класс CharacterStat как [Serializable], чтобы мы могли редактировать его из инспектора Unity.

И в этой заметке нам также нужно реализовать конструктор без параметров для CharacterStat, иначе мы получим исключение нулевой ссылки из-за того, что statModifiers не инициализирован. Давайте изменим наш исходный конструктор и добавим новый:

Помимо этого, я также поместил оба класса в namespace:

Вам не нужно этого делать, если вы этого не хотите, но мне это нравится по организационным причинам.
Кроме того, я собираюсь выложить это в Unity Asset Store (бесплатно!) . Он уже отправлен на согласование, теперь это займет всего несколько дней.

Как всегда, я буду читать и отвечать на каждый комментарий, поэтому не стесняйтесь заходить, если у вас есть какие-либо вопросы, предложения или отзывы.

Я надеюсь, что это было полезно, и пока до свидания!