Это во многом зависит от того, сколько времени вы хотите выделить для системы и насколько универсальной должна быть конечная система. Мощная система кат-сцены может быть достаточно гибкой, чтобы ее можно было использовать практически в любом взаимодействии в типичной 2d RPG.
Если вы хотите сделать все возможное, я бы предложил подход с большим объемом данных. Храните как можно больше данных в файлах и используйте файловую систему в своих интересах. Если вы говорите «все сцены диалога находятся в этой папке», то при добавлении новой сцены ее просто нужно поместить в папку, а не создавать сцену, а затем коснуться какого-либо главного переключателя. Просто помните о большой системе, которую вы хотите сделать добавлением новой катсцены настолько простой, насколько это возможно, а не 400 разных мест для прикосновения.
Я бы также держался подальше от операторов switch для отслеживания прогресса в кат-сцене. Это добавляет много накладных расходов кода для каждой сцены. Просто ролик был бы простым, как массив данных и позиция. Менеджер катсцены, singleton, может анализировать массив, декодировать данные в команды и запускать их.
Извините, если это слишком расплывчато, но многие из этих решений зависят от того, как устроен ваш движок и что вы хотите от системы. Имейте в виду, что чем более универсальна система, тем больше вы можете использовать ее для дальнейшего развития, но для начала потребуется больше времени для запуска.