public void OnItemClick(UIDynamicListItemCtrlBase item) { if (onClick != null) { onClick(item); } }
/* <设置动态列表> * 参数: * _dataCount: 数据量 * _dataList: 数据列表,具体类型user在使用时自行转换 */ public void SetList(int _dataCount, object _dataList) { if (itemPrefab == null && itemList.Count == 0) { Debug.LogError("there is no item prefab"); return; } else if (itemPrefab == null) { itemPrefab = itemList[0]; } dataCount = _dataCount; dataList = _dataList; Vector3 pos = Vector3.zero; int n = 0; for (int i = 0; i < dataCount; i++) { UIDynamicListItemCtrlBase item = null; Transform trans = null; if (i >= itemList.Count) { //不够,创建新的 item = GameObject.Instantiate <UIDynamicListItemCtrlBase>(itemPrefab); trans = item.transform; item.name = itemNamePrefix + i; trans.parent = transform; trans.localScale = Vector3.one; itemList.Add(item); } else { item = itemList[i]; trans = item.transform; } item.gameObject.SetActive(true); item.SetData(i, dataList); //排列 trans.localPosition = pos; pos.x += itemWidth; n++; if (itemCountPerLine > 0 && n >= itemCountPerLine) { pos.x = 0; pos.y -= itemHeight; n = 0; } } for (int i = dataCount; i < itemList.Count; i++) { itemList[i].gameObject.SetActive(false); } }
public void OnItemClick(UIDynamicListItemCtrlBase item) { CharacterInfoItem infoItem = item as CharacterInfoItem; var data = infoItem.data; CharacterConfig conf = CharacterConfigManager.instance.Get(data.configId); nameLabel.text = string.Format("{0} [{1}]", data.name, data.id); attackLabel.text = string.Format("{0} ({1} + [04f009]{2}[-])", data.attack + conf.attack, conf.attack, data.attack); hpLabel.text = string.Format("{0} ({1} + [04f009]{2}[-])", data.hp + conf.hp, conf.hp, data.hp); speedLabel.text = string.Format("{0} ({1} + [04f009]{2}[-])", data.speed + conf.speed, conf.speed, data.speed); critLabel.text = string.Format("{0} ({1} + [04f009]{2}[-])", data.crit + conf.crit, conf.crit, data.crit); critDamageLabel.text = string.Format("{0} ({1} + [04f009]{2}[-])", data.critDamage + conf.critDamage, conf.critDamage, data.critDamage); }