Skip to content

Commit be1b7a3

Browse files
committed
Make DanTKO's theme choice persist across play sessions
1 parent af83dd7 commit be1b7a3

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

Triggers/ChangeThemeTrigger.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Celeste.Mod.Entities;
22
using Microsoft.Xna.Framework;
33
using Monocle;
4+
using System;
45

56
namespace Celeste.Mod.SpringCollab2020.Triggers {
67
// a very hardcoded trigger that is here to persist theme choices between play sessions.
@@ -66,6 +67,42 @@ public override void Added(Scene scene) {
6667
}
6768
}
6869

70+
public override void Awake(Scene scene) {
71+
base.Awake(scene);
72+
73+
// let's restore the saved theme...
74+
Level level = Scene as Level;
75+
string sid = level.Session.Area.GetSID();
76+
bool enabled = SpringCollab2020Module.Instance.SaveData.ModifiedThemeMaps.Contains(sid);
77+
if (enabled) {
78+
switch (sid) {
79+
case "SpringCollab2020/1-Beginner/DanTKO":
80+
triggerTrigger("LightningColorTrigger", -456, 32);
81+
triggerTrigger("ExtendedVariantTrigger", -456, 32);
82+
83+
level.Session.LightingAlphaAdd = 0.095f;
84+
level.Lighting.Alpha = level.BaseLightingAlpha + level.Session.LightingAlphaAdd;
85+
break;
86+
}
87+
} else {
88+
switch (sid) {
89+
case "SpringCollab2020/1-Beginner/DanTKO":
90+
triggerTrigger("ExtendedVariantTrigger", -448, 136);
91+
break;
92+
}
93+
}
94+
}
95+
96+
private void triggerTrigger(string triggerName, int x, int y) {
97+
foreach (Trigger trigger in Scene.Tracker.GetEntities<Trigger>()) {
98+
if (trigger.GetType().Name.Contains(triggerName) && trigger.X == x && trigger.Y == y) {
99+
trigger.OnEnter(Scene.Tracker.GetEntity<Player>());
100+
trigger.OnLeave(Scene.Tracker.GetEntity<Player>());
101+
break;
102+
}
103+
}
104+
}
105+
69106
private void setBloom(Level level, float bloomAdd) {
70107
level.Session.BloomBaseAdd = bloomAdd;
71108
level.Bloom.Base = AreaData.Get(level).BloomBase + bloomAdd;

0 commit comments

Comments
 (0)