private void AssignComponents(StarsControl game, GamePainter gamePainter, Rectangle rcClient) { lock (_lock) { _game?.Dispose(); _game = game; _gamePainter = gamePainter; _DrawingBuffer?.Dispose(); _DrawingBuffer = CreateDrawing1(rcClient); } }
private void AssignComponents(IController game, IPainter painter, Rectangle rcClient) { lock (_lock) { if (_game is IDisposable d) { d.Dispose(); } if (_painter is IDisposable d2) { d2.Dispose(); } _game = game; _painter = painter; _DrawingBuffer?.Dispose(); _DrawingBuffer = CreateDrawing1(rcClient); } }