Паттерн стратегия в Unity Большинство задач уже решались когда-то разработчиками, поэтому часто разработка сводится к использованию уже существующих паттернов программирования. В этой статье мы разберем один из них – стратегия. Итак, допустим у вас есть класс суперкласс Citizen, который на основании enum меняет свое взаимодействие с игроком. Такой код часто перерастает в спагетти и его сложно поддерживать и развивать. Мериться с этим мы не будем и используем один из принципов ООП – наследование, чтобы можно было добавлять различные типы жителей. Метод общения с игроком переопределен. Кто-то просто общается с жителем, кто-то запускает квест, а есть неговорящие NPC. Но тут заказчик говорит, что необходимо будет добавить функционал обмена с жителями. Мы решаем эту проблему добавлением в родительский класс метода торговли, но тут получается, что мы можем торговать даже с теми жителями, с которыми не можем общаться. Попробуем сделать метод virtual и переопределить, где необходимо. Заказчи