Exemple #1
0
        private void Cleanup()
        {
            m_IsLoaded        = false;
            m_Document        = null;
            m_HighlightedItem = null;

            if (m_PageTextureHolders != null)
            {
                foreach (PDFPageTextureHolder holder in m_PageTextureHolders)
                {
                    if (holder.Texture != null)
                    {
                        Texture2D tex = holder.Texture;
                        holder.Texture = null;

                        Destroy(tex);
                        Resources.UnloadUnusedAssets();
                    }
                }
            }

            m_PageTextureHolders = null;

            int childCount = m_ThumbnailItemPrefab.transform.parent.childCount;

            for (int i = 1; i < childCount; ++i)
            {
                Destroy(m_ThumbnailItemPrefab.transform.parent.GetChild(i).gameObject);
            }

            m_ThumbnailItemPrefab.gameObject.SetActive(false);
        }
Exemple #2
0
        public void OnDocumentLoaded(PDFDocument document)
        {
            if (!m_IsLoaded && gameObject.activeInHierarchy)
            {
                m_Document = document;

                int c = m_Document.GetPageCount();

                m_PageTextureHolders = new PDFPageTextureHolder[c];
                m_ThumbnailList      = new List <PDFThumbnailItem>();

                int currentPage = m_PDFViewer.CurrentPageIndex;

                m_ThumbnailItemPrefab.gameObject.SetActive(false);

                for (int i = 0; i < c; ++i)
                {
                    PDFThumbnailItem item = null;

                    item = ((GameObject)Instantiate(m_ThumbnailItemPrefab.gameObject)).GetComponent <PDFThumbnailItem>();
                    item.transform.SetParent(m_ThumbnailItemPrefab.transform.parent, false);
                    item.gameObject.SetActive(true);

                    item.m_Highlighted.gameObject.SetActive(false);
                    item.m_PageIndexLabel.text = (i + 1).ToString();

                    m_ThumbnailList.Add(item);

                    m_PageTextureHolders[i]             = new PDFPageTextureHolder();
                    m_PageTextureHolders[i].m_PageIndex = i;
                    m_PageTextureHolders[i].m_Page      = item.m_PageThumbnailRawImage.gameObject;
                    m_PageTextureHolders[i].m_PDFViewer = m_PDFViewer;
                    m_PageTextureHolders[i].Texture     = null;
                }

                if (currentPage >= 0 && currentPage < m_PDFViewer.Document.GetPageCount())
                {
                    m_HighlightedItem = m_ThumbnailList[currentPage];
                    m_HighlightedItem.m_Highlighted.gameObject.SetActive(true);
                }

                m_CurrentPageRange = new PDFPageRange();

                m_UpdateFramesDelay = 2;
                m_IsLoaded          = true;
            }
        }
Exemple #3
0
        public void OnCurrentPageChanged(int newPageIndex)
        {
            if (!m_IsLoaded)
            {
                return;
            }

            if (m_HighlightedItem != null)
            {
                m_HighlightedItem.m_Highlighted.gameObject.SetActive(false);
            }

            if (newPageIndex >= 0)
            {
                m_HighlightedItem = m_ThumbnailList[newPageIndex];
                m_HighlightedItem.m_Highlighted.gameObject.SetActive(true);
            }

            UpdateHighlightedItem();
        }