Skip to content

Commit a074dfa

Browse files
committed
feat: startCutscene() now accepts an extra onFinished param, closes #1156
1 parent e66706f commit a074dfa

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

fxgl-gameplay/src/main/kotlin/com/almasb/fxgl/cutscene/CutsceneScene.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class CutsceneScene(private val sceneService: SceneService) : SubScene() {
4444

4545
internal lateinit var assetLoader: AssetLoaderService
4646
private lateinit var cutscene: Cutscene
47+
private lateinit var onFinished: Runnable
4748

4849
init {
4950
val topLine = Rectangle(sceneService.prefWidth, 150.0)
@@ -117,13 +118,15 @@ class CutsceneScene(private val sceneService: SceneService) : SubScene() {
117118
animation2.onFinished = Runnable {
118119
sceneService.popSubScene()
119120
onClose()
121+
onFinished.run()
120122
}
121123
animation.startReverse()
122124
animation2.startReverse()
123125
}
124126

125-
fun start(cutscene: Cutscene) {
127+
fun start(cutscene: Cutscene, onFinished: Runnable) {
126128
this.cutscene = cutscene
129+
this.onFinished = onFinished
127130

128131
nextLine()
129132

fxgl-gameplay/src/main/kotlin/com/almasb/fxgl/cutscene/CutsceneService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ class CutsceneService : EngineService() {
3333
private val scene by lazy { CutsceneScene(sceneService) }
3434
val dialogueScene by lazy { DialogueScene(sceneService) }
3535

36-
fun startCutscene(cutscene: Cutscene) {
36+
@JvmOverloads fun startCutscene(cutscene: Cutscene, onFinished: Runnable = EmptyRunnable) {
3737
scene.assetLoader = assetLoader
38-
scene.start(cutscene)
38+
scene.start(cutscene, onFinished)
3939
}
4040

4141
@JvmOverloads fun startDialogueScene(

0 commit comments

Comments
 (0)