public override void Step(Settings settings) { //B2_NOT_USED(settings); if (_automated == true) { int actionCount = Box2DXMath.Max(1, k_actorCount >> 2); for (int i = 0; i < actionCount; ++i) { Action(); } } _broadPhase.Commit(); for (int i = 0; i < k_actorCount; ++i) { Actor actor = _actors[i]; if (actor.proxyId == PairManager.NullProxy) { continue; } Color c = new Color(); switch (actor.overlapCount) { case 0: c.R = 0.9f; c.G = 0.9f; c.B = 0.9f; break; case 1: c.R = 0.6f; c.G = 0.9f; c.B = 0.6f; break; default: c.R = 0.9f; c.G = 0.6f; c.B = 0.6f; break; } OpenGLDebugDraw.DrawAABB(actor.aabb, c); } StringBuilder strBld = new StringBuilder(); strBld.AppendFormat("overlaps = {0}, exact = {1}, diff = {2}", new object[] { _overlapCount, _overlapCountExact, _overlapCount - _overlapCountExact }); OpenGLDebugDraw.DrawString(5, 30, strBld.ToString()); Validate(); ++_stepCount; }