Skip to content

Commit effa5fc

Browse files
committed
Added methods to change behavior of TimeSpeedFac during Time Srop State
1 parent efe9721 commit effa5fc

1 file changed

Lines changed: 30 additions & 1 deletion

File tree

RainWorldGame.cs

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ private bool RainWorldGame_AllowRainCounterToTick(On.RainWorldGame.orig_AllowRai
2828

2929
internal static float RainWorldGame_TimeSpeedFac_get(orig_TimeSpeedFac orig, RainWorldGame self)
3030
{
31-
if (self.GetCustomData().isTimeStopActive)
31+
if (self.GetCustomData().isTimeStopActive && !self.GetCustomData().allowEffectsGraohicUpdate)
3232
{
3333
return 0f;
3434
}
@@ -110,6 +110,7 @@ public static class RainWorlGameCWT
110110
public class Data
111111
{
112112
internal bool isTimeStopActive;
113+
internal bool allowEffectsGraohicUpdate;
113114
}
114115
}
115116

@@ -144,6 +145,34 @@ public static bool IsTimeStopActive(this RainWorldGame rwg)
144145
return rwg.GetCustomData().isTimeStopActive;
145146
}
146147

148+
/// <summary>
149+
/// Allows some decorative graphics and sound controllers to update in Time Stop state.
150+
/// Sets TimeSpeedFac to original value.
151+
/// </summary>
152+
public static void AllowEffectsUpdateDuringTimeStop(this RainWorldGame rwg)
153+
{
154+
if (rwg.GetCustomData().allowEffectsGraohicUpdate) return;
155+
rwg.GetCustomData().allowEffectsGraohicUpdate = true;
156+
}
157+
158+
/// <summary>
159+
/// Prevents some decorative graphics and sound controllers from updating in Time Stop state.
160+
/// Sets TimeSpeedFac to 0f.
161+
/// </summary>
162+
public static void DisallowEffectsUpdateDuringTimeStop(this RainWorldGame rwg)
163+
{
164+
if (!rwg.GetCustomData().allowEffectsGraohicUpdate) return;
165+
rwg.GetCustomData().allowEffectsGraohicUpdate = false;
166+
}
167+
168+
/// <summary>
169+
/// Returns whenever or not some decorative graphics and sound controllers can update.
170+
/// </summary>
171+
public static bool IsEffectsUpdateAllowed(this RainWorldGame rwg)
172+
{
173+
return rwg.GetCustomData().allowEffectsGraohicUpdate;
174+
}
175+
147176
/// <summary>
148177
/// Adds class type to the TimeStopImmuneTypes list
149178
/// </summary>

0 commit comments

Comments
 (0)