LoopListViewItem OnGetItemByIndex(LoopListView listView, int index) { if (index < 0 || index >= HelpUIView.Instance.TotalItemCount) { return(null); } HelpInfoItem itemData = HelpUIView.Instance.GetItemDataByIndex(index); if (itemData == null) { return(null); } LoopListViewItem item = listView.NewListViewItem("InfoItem"); ListHelpItem itemScript = item.GetComponent <ListHelpItem>(); if (item.IsInitHandlerCalled == false) { item.IsInitHandlerCalled = true; itemScript.Init(); } itemScript.SetItemData(itemData, index); return(item); }
void LateUpdate() { m_Looplistview.UpdateAllShownItemSnapData(); //切换缩放效果 int tmp_Count = m_Looplistview.ShownItemCount; for (int i = 0; i < tmp_Count; ++i) { LoopListViewItem tmp_Item = m_Looplistview.GetShownItemByIndex(i); ListItem tmp_Itemscript = tmp_Item.GetComponent <ListItem>(); float tmp_Scale = 1 - Mathf.Abs(tmp_Item.DistanceWithViewPortSnapCenter) / 700f; tmp_Scale = Mathf.Clamp(tmp_Scale, 0.8f, 1); tmp_Itemscript.m_Contentrootobj.GetComponent <CanvasGroup>().alpha = tmp_Scale; tmp_Itemscript.m_Contentrootobj.transform.localScale = new Vector3(tmp_Scale, tmp_Scale, 1); } }
void OnItemUpdated(LoopListViewItem item) { if (secretsData.Count <= 0) { return; } SecretItemContainer itemScript = item.GetComponent <SecretItemContainer>(); SecretData currentSecret = secretsData[item.ItemIndex]; itemScript.UpdateData(currentSecret); itemScript.RefreshView(); itemScript.StateText.gameObject.SetActive(false); if (hasSecretsData == null) { itemScript.StudyBtn.gameObject.SetActive(false); itemScript.ForgetBtn.gameObject.SetActive(false); if (currentSecret.Quality < QualityType.FlashRed) { itemScript.MixBtn.gameObject.SetActive(true); //闪红以下品质4张及4张以上相同类型相同品质的诀要就可以融合 List <SecretData> sameSecrets = secretsData.FindAll(sec => sec.Type == currentSecret.Type && sec.Quality == currentSecret.Quality); itemScript.MixBtn.gameObject.SetActive(sameSecrets != null && sameSecrets.Count >= 2); } else { itemScript.MixBtn.gameObject.SetActive(false); itemScript.StateText.gameObject.SetActive(true); } } else { if (hasSecretsData.FindIndex(sec => sec.PrimaryKeyId == currentSecret.PrimaryKeyId) >= 0) { itemScript.ForgetBtn.gameObject.SetActive(true); } else { itemScript.StudyBtn.gameObject.SetActive(true); } itemScript.MixBtn.gameObject.SetActive(false); } }
/// <summary> /// 通过索引获取列表单元 /// </summary> /// <param name="_listview"></param> /// <param name="_index"></param> /// <returns></returns> LoopListViewItem OnGetItemByIndex(LoopListView _listview, int _index) { //get a new item. Every item can use a different prefab, the parameter of the NewListViewItem is the prefab’name. //And all the prefabs should be listed in ItemPrefabList in LoopListView2 Inspector Setting LoopListViewItem tmp_Item = _listview.NewListViewItem("Element"); ListItem tmp_itemscript = tmp_Item.GetComponent <ListItem>(); if (tmp_Item.IsInitHandlerCalled == false) { tmp_Item.IsInitHandlerCalled = true; tmp_itemscript.Init(); } _index = _index % DatasourceMgr.Instance.m_Totalitemcount; if (_index < 0) { _index = DatasourceMgr.Instance.m_Totalitemcount + _index; } PageItem tmp_Itemdata = DatasourceMgr.Instance.GetItemDataByIndex(_index); tmp_itemscript.SetItemData(tmp_Itemdata, _index); return(tmp_Item); }
public void OnLoopListViewFinished(LoopListView _listview, LoopListViewItem _item) { //LoopListViewItem tmp_Item0 = m_Looplistview.GetShownItemByIndex(0); //ListItem itemScript = tmp_Item0.GetComponent<ListItem>(); m_Looplistview.RefreshAllShownItemWithFirstIndex(0); }