public void Close() { lock (_lock) { if (!IsConnected()) { return; } _surface.Paint -= SurfacePaint; _surface.SizeChanged -= SurfaceSizeChanged; CppAssembly.PlayerShutDown(_playerPointer); DisposePointerToPlayer(); } }