public void showTextureListView()
        {
            m_State = TileMenuState.TextureListView;
            TileMenuDetailView.Instance.gameObject.SetActive(false);
            TileMenuListView.Instance.destroyPages();
            TextureListView.Instance.CreatePages();

            TextureListView.Instance.gameObject.SetActive(true);
        }
        public void acceptTexture(int textureIndex)
        {
            m_State = TileMenuState.DetailView;

            TextureListView.Instance.destroyPages();
            TextureListView.Instance.gameObject.SetActive(false);

            TileMenuDetailView.Instance.updateTexture(textureIndex);
            TileMenuDetailView.Instance.gameObject.SetActive(true);

            TileMenuListView.Instance.CreatePages(m_SavedTiles);
        }
        /// <summary>
        /// Switches to list view to the given page.
        /// </summary>
        /// <param name="pageIndex"></param>
        public void ShowListView(int pageIndex)
        {
            // nothing to do if already in list view
            if (m_State == TileMenuState.ListView)
            {
                return;
            }

            m_State = TileMenuState.ListView;
            TileMenuDetailView.Instance.Hide();
            TileMenuListView.Instance.Show(pageIndex);
        }
        /// <summary>
        /// Calls the <see cref="TileMenuDetailView"/> to create a new tile.
        /// </summary>
        private void createTile()
        {
            // nothing to do if already in new tile view
            if (m_State == TileMenuState.NewTileView)
            {
                return;
            }
            else if (m_State == TileMenuState.ListView)
            {
                TileMenuListView.Instance.Hide();
            }

            m_State = TileMenuState.NewTileView;
            TileMenuDetailView.Instance.CreateTile();
        }
        /// <summary>
        /// Shows the detail view with the first tile in the curret page.
        /// </summary>
        private void showDetailView()
        {
            // nothing to do if already in detal view
            if (m_State == TileMenuState.DetailView)
            {
                return;
            }

            m_State = TileMenuState.DetailView;
            TileMenuListView.Instance.Hide();


            int tileIndex = TileMenuListView.Instance.CurrentPage * ObjectPage.MaxObjectsCount;

            TileMenuDetailView.Instance.Show(tileIndex);
        }
        /// <summary>
        /// Shows the list view on the page where the last current tile was.
        /// </summary>
        private void showListView()
        {
            // nothing to do if already in list view
            if (m_State == TileMenuState.ListView)
            {
                return;
            }

            if (m_State != TileMenuState.NewTileView)
            {
                TileMenuListView.Instance.UpdatePages(m_SavedTiles);
            }

            m_State = TileMenuState.ListView;
            TileMenuDetailView.Instance.Hide();

            int pageIndex = Mathf.CeilToInt(TileMenuDetailView.Instance.CurrentTile / ObjectPage.MaxObjectsCount);

            TileMenuListView.Instance.Show(pageIndex);
        }