Skip to content

Commit 01e458f

Browse files
authored
Merge pull request #163 from EverestAPI/flag_entities_on_transition
Hide flag-toggled entities properly on transitions when flag is disabled
2 parents 6ae4e21 + 1887463 commit 01e458f

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

Entities/FlagToggleComponent.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ public FlagToggleComponent(string flag, bool inverted, Action onDisable = null,
2121

2222
public override void Update() {
2323
base.Update();
24+
UpdateFlag();
25+
}
2426

27+
public void UpdateFlag() {
2528
if ((!inverted && SceneAs<Level>().Session.GetFlag(flag) != Enabled)
2629
|| (inverted && SceneAs<Level>().Session.GetFlag(flag) == Enabled)) {
2730

Entities/FlagToggleStarRotateSpinner.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Celeste.Mod.Entities;
22
using Microsoft.Xna.Framework;
3+
using Monocle;
34

45
namespace Celeste.Mod.SpringCollab2020.Entities {
56
[CustomEntity("SpringCollab2020/FlagToggleStarRotateSpinner")]
@@ -10,6 +11,11 @@ public FlagToggleStarRotateSpinner(EntityData data, Vector2 offset) : base(data,
1011
Add(toggle = new FlagToggleComponent(data.Attr("flag"), data.Bool("inverted")));
1112
}
1213

14+
public override void Added(Scene scene) {
15+
base.Added(scene);
16+
toggle.UpdateFlag();
17+
}
18+
1319
public override void Update() {
1420
if (toggle.Enabled) {
1521
// update the entity as usual

Entities/FlagToggleStarTrackSpinner.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Celeste.Mod.Entities;
22
using Microsoft.Xna.Framework;
3+
using Monocle;
34

45
namespace Celeste.Mod.SpringCollab2020.Entities {
56
[CustomEntity("SpringCollab2020/FlagToggleStarTrackSpinner")]
@@ -10,6 +11,11 @@ public FlagToggleStarTrackSpinner(EntityData data, Vector2 offset) : base(data,
1011
Add(toggle = new FlagToggleComponent(data.Attr("flag"), data.Bool("inverted")));
1112
}
1213

14+
public override void Added(Scene scene) {
15+
base.Added(scene);
16+
toggle.UpdateFlag();
17+
}
18+
1319
public override void Update() {
1420
if (toggle.Enabled) {
1521
// update the entity as usual

Entities/FlagToggleWaterfall.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ public override void Awake(Scene scene) {
3333
enteringSfx = self.Get<SoundSource>("enteringSfx");
3434
loopingSfxEvent = loopingSfx.EventName;
3535
enteringSfxEvent = enteringSfx.EventName;
36+
37+
toggle.UpdateFlag();
3638
}
3739

3840
public override void Update() {

0 commit comments

Comments
 (0)