void ClearPageButtons()
        {
            List <Transform> pageObj = new List <Transform>();

            for (int i = 0; i < pageGridObject.transform.childCount; i++)
            {
                Transform pageTrans = pageGridObject.transform.GetChild(i);
                pageObj.Add(pageTrans);
                UnityUIPageInfo pageInfo = pageTrans.gameObject.GetComponent <UnityUIPageInfo>();
                OnPageButtonClicked -= pageInfo.StoreCurrentPage;
            }

            pageGridObject.transform.DetachChildren();

            foreach (Transform gridItemObj in pageObj)
            {
                Destroy(gridItemObj.gameObject);
            }
        }
        void SetPageButtons(int pageAmount)
        {
            ClearPageButtons();

            for (int i = pageAmount - 1; i > -1; i--)
            {
                GameObject newPage = (GameObject)GameObject.Instantiate(pageButtonPrefab);
                newPage.transform.SetParent(pageGridObject.transform);
                newPage.transform.localScale = new Vector3(1, 1, 1);

                UnityUIPageInfo pageInfo = newPage.GetComponent <UnityUIPageInfo>();
                pageInfo.Init(i, this);

                OnPageButtonClicked += pageInfo.StoreCurrentPage;

                Button pageButton = newPage.GetComponent <Button>();
                pageButton.onClick.AddListener(OnPageButtonClicked);
            }
        }