public BoundingBoxViewerGameObject(IGameObject gameObject) { Debug.Assert(gameObject.getBoundingBoxGeometry() != null, "expected gameObject.getBoundingBoxGeometry() != null"); base._xPosition = gameObject.getBoundingBoxGeometry().Bounds.X - gameObject.getXPosition(); base._yPosition = gameObject.getBoundingBoxGeometry().Bounds.Y - gameObject.getYPosition(); base._gameObjectTag = Tags.DEBUG_TAG; Brush boundingBoxBrush = gameObject.isCollidable() ? Brushes.Red : Brushes.Yellow; GeometryDrawing geometryDrawing = new GeometryDrawing(null, new Pen(boundingBoxBrush, 1.0), gameObject.getBoundingBoxGeometry()); DrawingImage boundingBoxDrawingImage = new DrawingImage(geometryDrawing); Image boundingBoxImage = new Image(); boundingBoxImage.Source = boundingBoxDrawingImage; base._image = boundingBoxImage; this.gameObject = gameObject; this.previousCollidableState = gameObject.isCollidable(); }