public override bool AddDockableAttachment(BaseAttachment attach)
    {
        if (base.AddDockableAttachment(attach))
        {
            //attach.rigidbody.velocity = Vector3.zero;
            attach.rigidbody.isKinematic = true;

            InstrumentAttachment instrument = attach as InstrumentAttachment;
            attach.SetToolmodeResponse(new BaseTool.ToolMode[] {
                BaseTool.ToolMode.PRIMARY,
                BaseTool.ToolMode.GRABBING
            });
            instrument.EnableControls();
            instrument.SetCloneable(false);

            GameObject volumetric = UIFactory.CreateVolumetricCylinder();
            volumetric.transform.position = new Vector3(attach.transform.position.x, m_volumetricYOffset, attach.transform.position.z);
            volumetric.transform.parent   = transform;

            iTween.ColorTo(volumetric, iTween.Hash("color", new Color(1.0f, 1.0f, 1.0f, 0.2f), "time", 0.8f));
            m_volumetrics[instrument] = volumetric;

            PlaceObjects();
            //iTween.MoveTo(attach.gameObject, iTween.Hash("position", transform.localPosition, "uselocal", true ));
            return(true);
        }
        return(false);
    }
    public override void RemoveDockableAttachment(BaseAttachment attach)
    {
        base.RemoveDockableAttachment(attach);
        attach.SetToolmodeResponse(new BaseTool.ToolMode[] {
            BaseTool.ToolMode.GRABBING
        });

        Destroy(m_volumetrics[attach]);

        attach.DisableControls();
        attach.rigidbody.isKinematic = false;
        PlaceObjects();
    }