protected override void OnExit() { while (circles.Count > 0) { PhysicsCircleSprite sprite = circles[0]; circles.RemoveAt(0); sprite.DestroyBody(Window.PhysicsWorld); RemoveChild(sprite); circleFactory.ReturnObject(sprite); } }
//public //private protected override void OnEnter() { borders[0] = createBorder(Window.Width, 1.0d); borders[0].Position = new Vector2(PhysicsEngine.ToMeters(Window.Width / 2.0d), PhysicsEngine.ToMeters(-0.5d)); borders[1] = createBorder(Window.Width, 1.0d); borders[1].Position = new Vector2(PhysicsEngine.ToMeters(Window.Width / 2.0d), PhysicsEngine.ToMeters(Window.Height + 0.5d)); borders[2] = createBorder(1.0d, Window.Height); borders[2].Position = new Vector2(PhysicsEngine.ToMeters(-0.5d), PhysicsEngine.ToMeters(Window.Height / 2.0d)); borders[3] = createBorder(1.0d, Window.Height); borders[3].Position = new Vector2(PhysicsEngine.ToMeters(Window.Width + 0.5d), PhysicsEngine.ToMeters(Window.Height / 2.0d)); while (circleFactory.NumFreeInstances > 0) { PhysicsCircleSprite sprite = circleFactory.GetObject(); circles.Add(sprite); AddChild(sprite); sprite.CreateBody(Window.PhysicsWorld); } }