Skip to content

Commit b0a0f79

Browse files
committed
refactor: b2World_Explode to use 'in' parameters
- Changed `b2World_Explode` signature to accept `B2ExplosionDef` as `in` parameter instead of `ref`. - Updated call sites in Samples and Tests to remove `ref` keyword. - This change optimizes performance by reducing struct copying and ensures read-only access to explosion definition data.
1 parent 72ee8f6 commit b0a0f79

File tree

8 files changed

+8
-8
lines changed

8 files changed

+8
-8
lines changed

src/Box2D.NET.Samples/Samples/Bodies/Weeble.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public override void UpdateGui()
112112
def.radius = m_explosionRadius;
113113
def.falloff = 0.1f;
114114
def.impulsePerLength = m_explosionMagnitude;
115-
b2World_Explode(m_worldId, ref def);
115+
b2World_Explode(m_worldId, def);
116116
}
117117

118118
ImGui.PushItemWidth(100.0f);

src/Box2D.NET.Samples/Samples/Events/BodyMove.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ public override void UpdateGui()
195195
def.radius = m_explosionRadius;
196196
def.falloff = 0.1f;
197197
def.impulsePerLength = m_explosionMagnitude;
198-
b2World_Explode(m_worldId, ref def);
198+
b2World_Explode(m_worldId, def);
199199
}
200200

201201
ImGui.SliderFloat("Magnitude", ref m_explosionMagnitude, -20.0f, 20.0f, "%.1f");

src/Box2D.NET.Samples/Samples/Events/ProjectileEvent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public override void Step()
160160
explosionDef.position = data.manifold.points[0].point;
161161
explosionDef.radius = 1.0f;
162162
explosionDef.impulsePerLength = 20.0f;
163-
b2World_Explode(m_worldId, ref explosionDef);
163+
b2World_Explode(m_worldId, explosionDef);
164164

165165
b2DestroyBody(m_projectileId);
166166
m_projectileId = b2_nullBodyId;

src/Box2D.NET.Samples/Samples/Joints/TopDownFriction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public override void UpdateGui()
125125
def.radius = 10.0f;
126126
def.falloff = 5.0f;
127127
def.impulsePerLength = 10.0f;
128-
b2World_Explode(m_worldId, ref def);
128+
b2World_Explode(m_worldId, def);
129129

130130
DrawCircle(m_draw, def.position, 10.0f, B2HexColor.b2_colorWhite);
131131
}

src/Box2D.NET.Samples/Samples/Shapes/Explosion.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public override void UpdateGui()
9898
def.radius = m_radius;
9999
def.falloff = m_falloff;
100100
def.impulsePerLength = m_impulse;
101-
b2World_Explode(m_worldId, ref def);
101+
b2World_Explode(m_worldId, def);
102102
}
103103

104104
ImGui.SliderFloat("radius", ref m_radius, 0.0f, 20.0f, "%.1f");

src/Box2D.NET.Samples/Samples/Worlds/LargeWorld.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ public override void Step()
224224
def.radius = radius;
225225
def.falloff = 0.1f;
226226
def.impulsePerLength = 1.0f;
227-
b2World_Explode(m_worldId, ref def);
227+
b2World_Explode(m_worldId, def);
228228

229229
m_cycleIndex = (m_cycleIndex + 1) % m_cycleCount;
230230
}

src/Box2D.NET/B2Worlds.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2449,7 +2449,7 @@ internal static bool ExplosionCallback(int proxyId, ulong userData, ref B2Explos
24492449
return true;
24502450
}
24512451

2452-
public static void b2World_Explode(B2WorldId worldId, ref B2ExplosionDef explosionDef)
2452+
public static void b2World_Explode(B2WorldId worldId, in B2ExplosionDef explosionDef)
24532453
{
24542454
ulong maskBits = explosionDef.maskBits;
24552455
B2Vec2 position = explosionDef.position;

test/Box2D.NET.Test/B2WorldTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ public void TestWorldCoverage()
304304
Assert.That(v.Y, Is.EqualTo(g.Y));
305305

306306
B2ExplosionDef explosionDef = b2DefaultExplosionDef();
307-
b2World_Explode(worldId, ref explosionDef);
307+
b2World_Explode(worldId, explosionDef);
308308

309309
b2World_SetContactTuning(worldId, 10.0f, 2.0f, 4.0f);
310310

0 commit comments

Comments
 (0)