Интересно, можете ли вы мне помочь?
Я пишу игру (2d), которая позволяет игрокам идти по нескольким маршрутам, некоторые из которых ветвятся / объединяются - возможно, даже зацикливаются.Каждый раздел игры будет решать, какой раздел будет загружен следующим.
Я называю каждый раздел IStoryElement - и мне интересно, как лучше связать эти элементы так, чтобы их было легко изменить / настроить ив то же время, graphable
У меня будет сборка двигатель / завод, которая будет загружать соответствующие StoryElement
(s) на основе различных параметров конфигурации.
Я изначально планировал предоставить каждому StoryElement
свойство NextElement() As IStoryElement
и событие Completed()
.Когда вентиляционное отверстие срабатывает, движок считывает свойство NextElement, чтобы найти следующий StoryElement
.
Недостатком этого является то, что если бы я когда-либо хотел построить график всех маршрутов в игре, я не смог бы -Я не мог определить все возможные цели для каждого StoryElement
.
Я рассмотрел несколько других решений, но все они чувствуют себя немного неуклюже - например, мне нужен дополнительный уровень абстракции?т.е. StoryElementPlayers или аналогичные - каждый из них будет отвечать за связывание нескольких StoryElement
, возможно, Series и ChoicePlayer, каждый из которых отвечает за построение своего собственного StoryElement
- Но это просто переместит проблему на уровень.
* 1022Короче говоря, мне нужен какой-то способ эмуляции простого, но динамического рабочего процесса (но я бы на самом деле не использовал WWF).Есть ли образец для чего-то такого простого?Все, что мне удалось найти, относится к более продвинутому потоку управления (параллельная обработка и т. Д.)