refactor(physics): Stage 1 — widen cell-candidate helpers to ICollection<uint>
Non-behavioral: lets BuildCellSetAndPickContaining pass an ordered CellArray (next commit) while existing HashSet-passing test callers compile unchanged. HashSet<uint> and CellArray both implement ICollection<uint>. Core builds; 9 helper tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
b44dd147bc
commit
bc56545634
1 changed files with 6 additions and 6 deletions
|
|
@ -49,7 +49,7 @@ public static class CellTransit
|
||||||
uint currentCellId,
|
uint currentCellId,
|
||||||
Vector3 worldSphereCenter,
|
Vector3 worldSphereCenter,
|
||||||
float sphereRadius,
|
float sphereRadius,
|
||||||
HashSet<uint> candidates,
|
ICollection<uint> candidates,
|
||||||
out bool exitOutside)
|
out bool exitOutside)
|
||||||
{
|
{
|
||||||
var spheres = new[]
|
var spheres = new[]
|
||||||
|
|
@ -77,7 +77,7 @@ public static class CellTransit
|
||||||
uint currentCellId,
|
uint currentCellId,
|
||||||
IReadOnlyList<Sphere> worldSpheres,
|
IReadOnlyList<Sphere> worldSpheres,
|
||||||
int numSpheres,
|
int numSpheres,
|
||||||
HashSet<uint> candidates,
|
ICollection<uint> candidates,
|
||||||
out bool exitOutside)
|
out bool exitOutside)
|
||||||
{
|
{
|
||||||
exitOutside = false;
|
exitOutside = false;
|
||||||
|
|
@ -213,7 +213,7 @@ public static class CellTransit
|
||||||
Vector3 worldSphereCenter,
|
Vector3 worldSphereCenter,
|
||||||
float sphereRadius,
|
float sphereRadius,
|
||||||
uint currentCellId,
|
uint currentCellId,
|
||||||
HashSet<uint> candidates)
|
ICollection<uint> candidates)
|
||||||
{
|
{
|
||||||
const float CellSize = 24f;
|
const float CellSize = 24f;
|
||||||
|
|
||||||
|
|
@ -257,7 +257,7 @@ public static class CellTransit
|
||||||
IReadOnlyList<Sphere> worldSpheres,
|
IReadOnlyList<Sphere> worldSpheres,
|
||||||
int numSpheres,
|
int numSpheres,
|
||||||
uint currentCellId,
|
uint currentCellId,
|
||||||
HashSet<uint> candidates)
|
ICollection<uint> candidates)
|
||||||
{
|
{
|
||||||
int sphereCount = EffectiveSphereCount(worldSpheres, numSpheres);
|
int sphereCount = EffectiveSphereCount(worldSpheres, numSpheres);
|
||||||
for (int i = 0; i < sphereCount; i++)
|
for (int i = 0; i < sphereCount; i++)
|
||||||
|
|
@ -267,7 +267,7 @@ public static class CellTransit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void AddOutsideCell(HashSet<uint> candidates, uint lbPrefix, int gridX, int gridY)
|
private static void AddOutsideCell(ICollection<uint> candidates, uint lbPrefix, int gridX, int gridY)
|
||||||
{
|
{
|
||||||
if (gridX < 0 || gridX >= 8 || gridY < 0 || gridY >= 8) return;
|
if (gridX < 0 || gridX >= 8 || gridY < 0 || gridY >= 8) return;
|
||||||
|
|
||||||
|
|
@ -301,7 +301,7 @@ public static class CellTransit
|
||||||
BuildingPhysics building,
|
BuildingPhysics building,
|
||||||
Vector3 worldSphereCenter,
|
Vector3 worldSphereCenter,
|
||||||
float sphereRadius,
|
float sphereRadius,
|
||||||
HashSet<uint> candidates)
|
ICollection<uint> candidates)
|
||||||
{
|
{
|
||||||
foreach (var portal in building.Portals)
|
foreach (var portal in building.Portals)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue