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); }
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; } }
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(); }