Skip to content

Commit d9f331e

Browse files
committed
Change BoomCollider into a Circle
Mostly just makes it a bit easier to tell what's happening/make future changes if needed
1 parent a471e5a commit d9f331e

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

Code/Entities/BoomBox.cs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,11 @@ public class BoomBox : Solid {
2222
SpeedMax = 24f
2323
};
2424

25+
protected Circle _boomCollider;
26+
2527
private readonly float _initialDelay;
2628
private readonly Sprite _sprite;
2729
private readonly Sprite _boomSprite;
28-
protected BoomCollider _boomCollider;
2930
private readonly SoundSource _sfx;
3031
private readonly float _startupTime = 1.5f;
3132
private float _angryResetTimer = 0f;
@@ -63,7 +64,7 @@ public BoomBox(Vector2 position, string activationId, float initialDelay, bool s
6364
_boomSprite.CenterOrigin();
6465
_boomSprite.Position = new Vector2(Width / 2, Height / 2);
6566

66-
_boomCollider = new BoomCollider(position + new Vector2(Width / 2, Height / 2));
67+
_boomCollider = new Circle(40f, X + Width / 2, Y + Height / 2);
6768
Add(_sfx = new SoundSource());
6869
_sfx.Position = new Vector2(Width / 2, Height / 2);
6970
Add(new LightOcclude(0.2f));
@@ -145,7 +146,6 @@ private IEnumerator WindDownSequence() {
145146

146147
public override void Added(Scene scene) {
147148
base.Added(scene);
148-
scene.Add(_boomCollider);
149149
Activator.HandleStartup(scene);
150150
}
151151

@@ -172,6 +172,11 @@ public override void Update() {
172172
}
173173
}
174174

175+
public override void DebugRender(Camera camera) {
176+
base.DebugRender(camera);
177+
_boomCollider.Render(camera, Collidable ? Color.Red : Color.DarkRed);
178+
}
179+
175180
private void HandleAngryMode() {
176181
CheckForAngryMode();
177182
if (_angryMode) {
@@ -216,7 +221,7 @@ private void Explode() {
216221
(Scene as Level).Displacement.AddBurst(Center, 0.35f, 4f, 64f, 0.5f);
217222
Player player = Scene.Tracker.GetEntity<Player>();
218223
Collidable = false;
219-
if (player != null && player.CollideCheck(_boomCollider) && !Scene.CollideCheck<Solid>(player.Center, Center)) {
224+
if (player != null && _boomCollider.Collide(player) && !Scene.CollideCheck<Solid>(player.Center, Center)) {
220225
if (player.Bottom < Top && player.Top > Bottom) {
221226
player.ExplodeLaunch(Center, false, true);
222227
} else {
@@ -226,11 +231,5 @@ private void Explode() {
226231

227232
Collidable = true;
228233
}
229-
230-
protected class BoomCollider : Entity {
231-
public BoomCollider(Vector2 position) : base(position) {
232-
Collider = new Circle(40f, 0, 0);
233-
}
234-
}
235234
}
236235
}

0 commit comments

Comments
 (0)