public void BookExhibition(int key) { gameObject.SetActive(true); m_Trans.Clear(); while (m_Grid.transform.childCount > 0) { DestroyImmediate(m_Grid.transform.GetChild(0).gameObject); } Texture2D texture = null; List <Sprite> sprites = SpriteMgr.singleton.GetSprs(key); for (int i = 0; i < sprites.Count; i++) { GameObject o = GameObject.Instantiate(m_Item); o.transform.parent = m_Grid.transform; o.transform.localScale = Vector3.one; o.transform.localPosition = Vector3.zero; o.gameObject.SetActive(true); m_Trans.Add(o.GetComponent <RectTransform>()); BookItem item = o.GetComponent <BookItem>(); item.ItemInit(); item.m_Id = i; item.m_Icon.sprite = sprites[i]; item.m_Icon.SetNativeSize(); item.m_Btn.onClick.AddListener(delegate(){ ClickItem(item); }); Vector2 size = item.m_Icon.GetComponent <RectTransform>().sizeDelta; float xScale = size.x / 2048.0f; float yScale = size.y / 1536.0f; if (xScale > yScale) { float scale = size.x / 2048.0f; item.m_Icon.GetComponent <RectTransform>().sizeDelta = new Vector2(2048, size.y / scale); } else { float scale = size.y / 1536.0f; item.m_Icon.GetComponent <RectTransform>().sizeDelta = new Vector2(size.x / scale, 1536); } //string path = "animal/" + key + "/" + (i+1); //texture = (Texture2D)Resources.Load(path); //item.m_BG.color = texture.GetPixel(0, (int)texture.height); item.m_BG.color = Color.black; } //m_Grid.CalculateLayoutInputHorizontal(); Vector3 vPos = new Vector3(-m_Trans[0].anchoredPosition.x + 1024, 0, 0); m_Grid.transform.localPosition = vPos; m_CurIndex = 0; }