Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
整理背包问题
qq747831151发起了问答2018-03-05
3
回复
446
浏览

 老师 我想把背包整理下 我是按格子里面的id记录下来 然后通过大小排序下 再通过从小到大实例化到格子里面去 但是 物品的数目要怎么记录下来的 已经排序了 id都乱了  有的物品是可以放一起的 怎么通过id去获得物品个数

   public void OnClear()
    {
        List<int> listID = new List<int>();
        foreach(Slot slots in slot)
        {
            if (slots.transform.childCount > 0 )
            {
                listID.Add(slots.id);

            }
        }
        foreach (Slot slots in slot)
        {
            if (slots.transform.childCount > 0)
            {
                DestroyImmediate(slots.GetComponentInChildren<Item>().gameObject);
            }
        }
        SelectSort(listID);//通过简单排序的
            foreach (var temp in listID)
            {
                StroeItem(temp);
                Debug.Log(temp);
            }
    }

所有回复
  • siki 2018-03-06

    定义一个字典,key存储id,value存储这个id物品的数量

    遍历的时候,如果字典里面没有这个id,就添加id 并设置这个物品的数量, 如果后面再次遍历的到这个id 就让value 增加数量

    最后遍历字典里面的 key集合就可以了

    排序的话,可以单独对key集合排序,排序好后,放到背包里面,数量通过上面的字典得到

    还有-3条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!