Что, если в соответствии с дизайном в игре можно использовать более дюжины эффектов усиления? Было бы кошмаром писать код отдельно для каждого усиления, которое ведет себя почти одинаково.

Здесь необходимо использовать модульность объектно-ориентированного программирования.

Оператор if else или оператор switch в основном управляют выполнением программы на основе выбора в реальном времени. Итак, давайте погрузимся в цикл if-else, чтобы увидеть, как он работает.

Простая реализация приведена ниже.

Однако после введения еще двух бонусов первой мыслью, которая приходит в голову начинающему разработчику, является написание похожего фрагмента кода и вызов некоторых соответствующих методов.

Таким образом, вместо метода player.isTripleShotActive(), который запускает три выстрела пули за раз в течение 5 секунд, можно написать player.IncreaseSpeed() или player.WearAShield(). Это кажется большим количеством повторений.

Немного лучший способ справиться с этим — использовать цикл if-else.

  • Объявите сериализованное поле в сценарии включения, которое будет общим компонентом для n объектов бустерной игры.
  • Затем дайте ему скомпилироваться, чтобы идентификаторы можно было назначить в Unity.

  • Как только эти идентификаторы будут установлены, код позаботится обо всем остальном.

Здесь все, что нужно изменить при реализации, — это вызов методов.

Чуть более эффективная версия будет продемонстрирована в следующей статье.

Большое Вам спасибо