Что, если в соответствии с дизайном в игре можно использовать более дюжины эффектов усиления? Было бы кошмаром писать код отдельно для каждого усиления, которое ведет себя почти одинаково.
Здесь необходимо использовать модульность объектно-ориентированного программирования.
Оператор if else или оператор switch в основном управляют выполнением программы на основе выбора в реальном времени. Итак, давайте погрузимся в цикл if-else, чтобы увидеть, как он работает.
Простая реализация приведена ниже.
Однако после введения еще двух бонусов первой мыслью, которая приходит в голову начинающему разработчику, является написание похожего фрагмента кода и вызов некоторых соответствующих методов.
Таким образом, вместо метода player.isTripleShotActive(), который запускает три выстрела пули за раз в течение 5 секунд, можно написать player.IncreaseSpeed() или player.WearAShield(). Это кажется большим количеством повторений.
Немного лучший способ справиться с этим — использовать цикл if-else.
- Объявите сериализованное поле в сценарии включения, которое будет общим компонентом для n объектов бустерной игры.
- Затем дайте ему скомпилироваться, чтобы идентификаторы можно было назначить в Unity.
- Как только эти идентификаторы будут установлены, код позаботится обо всем остальном.
Здесь все, что нужно изменить при реализации, — это вызов методов.
Чуть более эффективная версия будет продемонстрирована в следующей статье.
Большое Вам спасибо