Ejemplo n.º 1
0
        private void _updatePages()
        {
            // TODO
//			Debug.Log(" @ BigPageView._updatePages(): " + this._pageIndex);
            bool[] cacheStatus = new bool[2 * this._pageCacheSize + 1];
            for (int childIndex = 0; childIndex < this._contentPanel.transform.childCount; childIndex++)
            {
                GameObject pageContainerGameObject = this._contentPanel.transform.GetChild(childIndex).gameObject;
                if (pageContainerGameObject.activeSelf)
                {
                    BigPageViewPageContainer pageContainer = pageContainerGameObject.GetComponent <BigPageViewPageContainer> ();
                    if (pageContainer.pageIndex < this._pageIndex - this._pageCacheSize || pageContainer.pageIndex > this._pageIndex + this._pageCacheSize)
                    {
                        this._freePageContainer(pageContainerGameObject);
                        //					Debug.Log (" @ BigPageview._free(" + pageContainer.pageIndex + ")");
                    }
                    else
                    {
                        cacheStatus [pageContainer.pageIndex - (this._pageIndex - this._pageCacheSize)] = true;
                    }
                }
            }

            for (int pageIndex = this._pageIndex - this._pageCacheSize; pageIndex <= this._pageIndex + this._pageCacheSize; pageIndex++)
            {
                if (pageIndex >= 0 && pageIndex <= this.pages - 1 && !cacheStatus [pageIndex - (this._pageIndex - this._pageCacheSize)])
                {
                    GameObject pageContainerGameObject = this._allocPageContainer();
//					Debug.Log (" @ BigPageview._alloc(" + pageIndex + ")");
                    BigPageViewPageContainer pageContainer = pageContainerGameObject.GetComponent <BigPageViewPageContainer> ();
                    pageContainer.pageIndex = pageIndex;
                    this.bigPageViewDelegate.GetPage(pageContainerGameObject, pageIndex);
                }
            }
        }
		public void SetLayoutHorizontal() {
			BigPageView bigPageView = bigPageViewGameObject.GetComponent<BigPageView> ();
			RectTransform bigPageViewRectTransform = (bigPageViewGameObject.transform as RectTransform);
			float contentWidth = bigPageViewRectTransform.rect.width;
			float contentHeight = bigPageViewRectTransform.rect.height;
			RectTransform contentRectTransform = this.GetComponent<RectTransform> ();

			switch (bigPageView.direction) {
			case BigPageView.Direction.Horizontal: {
					contentWidth *= bigPageView.bigPageViewDelegate != null? bigPageView.pages: 0;

					if (contentWidth != contentRectTransform.rect.width || contentHeight != contentRectTransform.rect.height) {
						contentRectTransform.offsetMin = new Vector2(0, -contentHeight);
						contentRectTransform.offsetMax = new Vector2 (contentWidth, 0);
					}

					for (int childIndex = 0; childIndex < this.transform.childCount; childIndex++) {
						RectTransform pageContainerTransform = this.transform.GetChild (childIndex) as RectTransform;
						BigPageViewPageContainer pageContainer = pageContainerTransform.GetComponent<BigPageViewPageContainer> ();

						pageContainerTransform.anchorMin = new Vector2(0, 1);
						pageContainerTransform.anchorMax = new Vector2(0, 1);

						pageContainerTransform.offsetMin = new Vector2(bigPageViewRectTransform.rect.width * pageContainer.pageIndex, -bigPageViewRectTransform.rect.height);
						pageContainerTransform.offsetMax = new Vector2(bigPageViewRectTransform.rect.width * (pageContainer.pageIndex + 1), 0);

					}

					break;
				}					
			}

		}