zoukankan      html  css  js  c++  java
  • 什么是臭代码

          
      mHeroInfoUI.Herorder.Clear();
       List<HeroInfo> heroList = new List<HeroInfo>();
            //heroList = HeroDataManager.Instance.GetHeroListBySort(selectHero, classify, toggle);
       heroList = HeroDataManager.Instance.GetNewHeroSort(classify, toggle);
    if (itemPool.Count != 0)
                for (int i = 0; i < itemPool.Count; i++)
                    itemPool[i].SetActive(false);
    
            if ( heroList == null || heroList.Count <= 0) //meiyou 
            {
                if(itemPool.Count!=0)
                    for(int i=0;i<itemPool.Count;i++)
                        itemPool[i].SetActive(false);
                return;
            }
            int r = heroList.Count/ 5; //
            int h = heroList.Count % 5;//余數
    
            if (h != 0 && r != 0)
                r = r + 1;
            if(r==0)
            {
                r=1; 
            }
    
            for (int i = 0; i < r; i++)
            {
                if (i > itemPool.Count-1) 
                {
                   itemPool.Add(GameObject.Instantiate(prefab) as GameObject);
                } 
    
                Transform row = itemPool[i].transform;
                row.parent = heroItemParent.transform;
                row.localPosition = new Vector3(0, 220-i * (192), 0);
                row.localScale = Vector3.one;
                row.localEulerAngles = Vector3.zero;
                row.gameObject.SetActive(true);//prefab池 的一个元素激活
    
                for(int j=0;j<5;j++)
                {
                    if (h != 0&&i==r-1) //最后一行
                    {
                        if (j > h - 1)
                        {
                            row.GetChild(j).gameObject.SetActive(false); //一个行prefab 里面5个元素有多余的 隐藏
                            continue;
                        }
                    }
                    // heroList[i * 5 + j] 是第几个heroinfo
                    InitAHeroItems(row.GetChild(j).gameObject, heroList[i * 5 + j], i * 5 + j);
                   mHeroInfoUI.Herorder.Add(i * 5 + j, heroList[i * 5 + j].heroID);
                }
            } 
            if (r < itemPool.Count - 1) //初始化完成后 隐藏池中多余的
            {
                for (int b = r + 1; b < itemPool.Count; b++)
                {
                    itemPool[b].SetActive(false);
                }
            }
                 

    精简后的

            mHeroInfoUI.Herorder.Clear();
            List<HeroInfo> heroList = new List<HeroInfo>();
            //heroList = HeroDataManager.Instance.GetHeroListBySort(selectHero, classify, toggle);
            heroList = HeroDataManager.Instance.GetNewHeroSort(classify, toggle);
    
            #region newLogic
            CreateGridTools<HeroInfo> createGridTools = new CreateGridTools<HeroInfo>();
            createGridTools.InitData(heroItemParent, Item, heroList, InitAHeroItems);
  • 相关阅读:
    (CSDN迁移)js中的判空
    (CSDN迁移) 输入一个链表,从尾到头打印链表每个节点的值
    (CSDN迁移) 替换字符串中的空格
    (CSDN迁移) Java路径获取
    Apache JMeter 做接口并发测试
    用Postman做接口测试
    高并发或高负载下的系统设计
    编译时异常与运行时异常的区别
    使用JUNIT进行单元测试
    hexo 博客如何更换电脑
  • 原文地址:https://www.cnblogs.com/bambomtan/p/5498011.html
Copyright © 2011-2022 走看看