private void CollisionShape(PShape s1, PShape s2, PCollisionChooser cc_0) { PContact[] cs = new PContact[2]; int num = cc_0.Collide(s1, s2, cs); if (num == 0) { return; } bool found = false; for (int f = 0; f < numSolvers; f++) { if (s1 != solvers[f].s1 || s2 != solvers[f].s2) { continue; } solvers[f].Update(cs, num); found = true; break; } if (!found) { PSolver solver = new PSolver(s1, s2, cs, num); AddSolver(solver); } }
private void AddSolver(PSolver s) { if (numSolvers + 1 >= solvers.Length) { solvers = (PSolver[])CollectionUtils.CopyOf(solvers, solvers.Length * 2); } solvers[numSolvers] = s; numSolvers++; }
private void CollisionShape(PShape s1, PShape s2, PCollisionChooser cc_0) { PContact[] cs = new PContact[2]; int num = cc_0.Collide(s1, s2, cs); if (num == 0) { return; } bool found = false; for (int f = 0; f < numSolvers; f++) { if (s1 != solvers[f].s1 || s2 != solvers[f].s2) { continue; } solvers[f].Update(cs, num); found = true; break; } if (!found) { PSolver solver = new PSolver(s1, s2, cs, num); AddSolver(solver); } }
private void AddSolver(PSolver s) { if (numSolvers + 1 >= solvers.Length) { solvers = (PSolver[]) CollectionUtils.CopyOf(solvers, solvers.Length * 2); } solvers[numSolvers] = s; numSolvers++; }