我想知道你是否可以帮助我。
我正在编写一个游戏(2d),它允许玩家采用多条路线,其中一些分支/合并 - 甚至可能循环。游戏的每个部分将决定接下来加载哪个部分。
我将每个部分称为 IStoryElement - 我想知道如何以一种易于更改/配置且同时可图形化的方式最好地将这些元素链接起来
我将有一个引擎/工厂组件,它将StoryElement
根据各种配置选项加载适当的(S)。
我最初计划给每个人StoryElement
一个NextElement() As IStoryElement
属性和一个Completed()
事件。当通风口启动时,引擎会读取 NextElement 属性以查找下一个StoryElement
.
这样做的缺点是,如果我想绘制游戏中的所有路线,我将无法 - 我无法确定每个路线的所有可能目标StoryElement
。
我考虑了其他几个解决方案,但它们都觉得有点笨拙——例如,我需要额外的抽象层吗?即 StoryElementPlayers 或类似的东西——每个人都负责将多个StoryElement
可能的 Series 和 ChoicePlayer 串在一起,每个人负责绘制自己的图形StoryElement
——但这只会将问题向上移动一层。
简而言之,我需要某种方式来模拟一个简单但动态的工作流程(但我宁愿不实际使用 WWF)。有这么简单的东西的模式吗?我设法找到的所有内容都与更高级的控制流(并行处理等)有关