public override void Violation(Body body) { PhysicsObject obj = body.GetUserData() as PhysicsObject; // code to fill up a hole int fillradius = 3; if (obj is PaintedObject) { foreach (PhysicsObject hole in this.world.Objects) { if (hole is HoleObject && obj.Position.X < hole.Position.X + fillradius && obj.Position.X > hole.Position.X - fillradius ) { ((HoleObject)hole).Filled += ((PaintedObject)obj).Length; //Console.WriteLine("Filled: "); Console.WriteLine(((HoleObject)hole).Filled); // DEBUG } } } // code to kill the object that fell off, and to fail you if that object was you obj.Die(); if (obj == world.dude) world.Fail(); }