Esempio n. 1
0
 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);
        }
    }
Esempio n. 3
0
    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);
    }