public override void Deactivate(VrSession session)
        {
            if (_painter != null)
            {
                _painter.Dispose();
                _painter = null;
            }

            if (_paintCone != null)
            {
                _paintCone.Delete();
                _paintCone = null;
            }

            _part = null;
        }
        public override void Activate(VrSession session)
        {
            //:TODO: How to determine which part to paint?
            var part = Station.ActiveStation.FindGraphicComponentsByType(typeof(Part)).OfType <Part>().FirstOrDefault(p => p.Name == "PaintPart");

            if (part != null)
            {
                _painter          = new GfxTexturePainter(part);
                _painter.Range    = 0.500;
                _painter.SizeX    = 0.150;
                _painter.SizeY    = 0.400;
                _painter.Strength = 0.1;
                _painter.ShowPaint(true);
                _part = part;

                UpdatePreview(session);
            }
        }