private void spriteEvents(Sprite s) { if (isOffTheBoard(s)) { s.RaiseOffTheBoard(); } ///We want to get rid of this element wise test ///Test for collision if (s.IsSolid) { var obst = collisionDetector.Update_Slow(s.CreationIndex, s.Left, s.Top, s.Right, s.Bottom); switch (obst) { case CollisionType.none: s.State.ClearObstructions(); break; case CollisionType.overlap: s.State.Freeze(); //s2.State.Freeze(); break; default: s.State.AddObstruction(obst); break; } } }