Skip to content

Commit 83c38ce

Browse files
committed
Use Get<PlayerCollider>() instead of iterating through components
1 parent a4179b3 commit 83c38ce

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

Entities/CustomRespawnTimeRefill.cs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,15 @@ public CustomRespawnTimeRefill(EntityData data, Vector2 offset) : base(data, off
1111
DynData<Refill> self = new DynData<Refill>(this);
1212
float respawnTime = data.Float("respawnTime", 2.5f);
1313

14-
foreach (Component component in this) {
15-
if (component is PlayerCollider collider) {
16-
// wrap the original OnPlayer method to modify the respawnTimer if it gets reset to 2.5f.
17-
Action<Player> orig = collider.OnCollide;
18-
collider.OnCollide = player => {
19-
orig(player);
20-
if (self.Get<float>("respawnTimer") == 2.5f) {
21-
self["respawnTimer"] = respawnTime;
22-
}
23-
};
14+
// wrap the original OnPlayer method to modify the respawnTimer if it gets reset to 2.5f.
15+
PlayerCollider collider = Get<PlayerCollider>();
16+
Action<Player> orig = collider.OnCollide;
17+
collider.OnCollide = player => {
18+
orig(player);
19+
if (self.Get<float>("respawnTimer") == 2.5f) {
20+
self["respawnTimer"] = respawnTime;
2421
}
25-
}
22+
};
2623
}
2724
}
2825
}

0 commit comments

Comments
 (0)