Я создаю игру, в которой существует большое количество локаций и персонажей. Я хочу чтобы линия диалога персонажа могла быть заменена новой, в зависимости от прогресса игрока. Представляю себе прогресс в виде одномерного массива, с нулями и единицами, если единица, значит прогресс достигнут. Меня волнуют архитектурные вопросы, как лучше организовать сценарий на программном уровне.
Я представляю себе объект "plot", внутри него локации, в локациях персонажи, у них свои линии диалогов, какое-нибудь условие, if(progress[134]) дай другую линию диалога