Skip to content

Commit d0ce85a

Browse files
committed
Allow different cutscenes to play at the same time
1 parent 52cc2c3 commit d0ce85a

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

Celeste.Mod.mm/Mod/Entities/DialogCutscene.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections;
33

44
namespace Celeste.Mod.Entities {
5+
[Tracked]
56
public class DialogCutscene : CutsceneEntity {
67

78
private Player player;
@@ -45,5 +46,12 @@ public override void OnEnd(Level level) {
4546
}
4647
}
4748

49+
public static bool IsInProgress(string dialogID) {
50+
foreach (DialogCutscene dialogCutscene in Engine.Scene.Tracker.GetEntities<DialogCutscene>()) {
51+
if (dialogCutscene.dialogID == dialogID) return true;
52+
}
53+
return false;
54+
}
55+
4856
}
4957
}

Celeste.Mod.mm/Mod/Entities/DialogCutsceneTrigger.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ private void TriggerCutscene(Player player) {
5858
if (ignoreIntroState && ((patch_Player) player).IsIntroState)
5959
return;
6060

61-
// don't activate if some dialog is already in progress
62-
if (level.Tracker.GetEntity<Textbox>() is not null)
61+
// don't activate if the same dialog is already in progress
62+
if (DialogCutscene.IsInProgress(dialogEntry))
6363
return;
6464

6565
triggered = true;

0 commit comments

Comments
 (0)