void OnEnable()
    {
        InteractivePuzzlePiece <TComponent> puzzlePiece = (InteractivePuzzlePiece <TComponent>)target;

        puzzlePiece.rb.hideFlags = HideFlags.NotEditable;
        puzzlePiece.physicsComponent.hideFlags = HideFlags.NotEditable;
    }
    void OnDisable()
    {
        InteractivePuzzlePiece <TComponent> puzzlePiece = (InteractivePuzzlePiece <TComponent>)target;

        if (puzzlePiece.rb != null)
        {
            puzzlePiece.rb.hideFlags = HideFlags.None;
        }
        if (puzzlePiece.physicsComponent != null)
        {
            puzzlePiece.physicsComponent.hideFlags = HideFlags.None;
        }
    }