Java 管理配子情节序列的模式1->;配子情节2->;配子情节3。。。在LibGDX游戏中

Java 管理配子情节序列的模式1->;配子情节2->;配子情节3。。。在LibGDX游戏中,java,design-patterns,libgdx,2d-games,Java,Design Patterns,Libgdx,2d Games,我有一个LibGDX游戏 该游戏实际上由许多独立的子游戏(情节)组成。每一集实际上都是一个完全不同的游戏(通常是一个不同的世界、演员/游戏对象、纹理) 不,我需要对转换序列进行编码(第1幕->完成时->第2幕->第N集) 每一集实际上都是一个Screen(ScreenAdapter)类,在Episode1类中,我有一个引用Episode2的字段(当我创建和设置Episode1实例时,我用Episode2实例设置了这个字段)。与第2幕->第3幕等相同 我觉得这样做是非常脆弱的 最好的办法是什么 现

我有一个LibGDX游戏

该游戏实际上由许多独立的子游戏(情节)组成。每一集实际上都是一个完全不同的游戏(通常是一个不同的世界、演员/游戏对象、纹理)

不,我需要对转换序列进行编码(第1幕->完成时->第2幕->第N集)

每一集实际上都是一个Screen(ScreenAdapter)类,在Episode1类中,我有一个引用Episode2的字段(当我创建和设置Episode1实例时,我用Episode2实例设置了这个字段)。与第2幕->第3幕等相同

我觉得这样做是非常脆弱的

最好的办法是什么


现在我必须从LibGDX中的currentEpiodeScreen对象调用setScreen(nextEpisodeScreenObjRef)。

我不会说这个设计是“脆弱的”,但一个简单的设计是拥有一个包含所有剧集的数组/列表,每个剧集也知道它的索引

然后一个剧集更改将是
setScreen(scents.get(index+1))

这些片段可以传递给每一个片段,也可以是单个片段。这种设计的副作用是,你可以从任何一集转移到其他任何一集

下一步是,如果是非线性的插曲序列,也可以有一个nextIndex字段,或者根据用户与插曲的交互方式有多个nextIndex字段