public void HideTable()
 {
     if (!isTableAlreadyExists)
     {
         return;
     }
     tableObjectScript.OnHideTableButtonClicked -= HideTable;
     tableObjectInstance.SetActive(false);
     tableObjectInstance  = null;
     tableObjectScript    = null;
     isTableAlreadyExists = false;
 }
    public void ShowTable()
    {
        if (isTableAlreadyExists)
        {
            tableObjectScript.PositionTableObject();
            return;
        }

        tableObjectInstance = PrefabHolder.Instance.GetPooledTable();
        tableObjectScript   = tableObjectInstance.GetComponentInChildren <DraggableInfoTable>();
        tableObjectScript.tableHolderTransform = gameObject.transform; // do this before setting it active
        tableObjectInstance.SetActive(true);

        //subscribe to the button clicked event
        FillTableData();
        tableObjectScript.OnHideTableButtonClicked += HideTable;
        isTableAlreadyExists = true;
    }