Пример #1
0
    public void AddScrollViewItem(List <Employee> Edata)
    {
        if (empCell == null)
        {
            return;
        }
        empNum.text      = Edata.Count.ToString() + "/100";
        empMoneyLab.text = GamePlayer.Instance.GetIprop(PropertyType.PT_EmployeeCurrency).ToString();
        if (emplyoeeCellList.Count > 0)
        {
            foreach (GameObject o in emplyoeeCellList)
            {
                o.transform.parent = null;
                emplyoeeCellPool.Add(o);
                o.transform.FindChild("select").gameObject.SetActive(false);
                o.gameObject.SetActive(false);
            }
            emplyoeeCellList.Clear();
        }

        List <Employee> battles = GamePlayer.Instance.GetBattleEmployees();


        for (int i = 0; i < battles.Count; i++)
        {
            GameObject o = null;
            if (emplyoeeCellPool.Count > 0)
            {
                o = emplyoeeCellPool[0];
                emplyoeeCellPool.Remove(o);
            }
            else
            {
                o = Instantiate(empCell) as GameObject;
            }

            if (battles[i].isForBattle_)
            {
                o.transform.FindChild("inBattle").gameObject.SetActive(true);
            }
            else
            {
                o.transform.FindChild("inBattle").gameObject.SetActive(false);
            }

            EmployeeCellUI cell = o.GetComponent <EmployeeCellUI>();
            cell.Employee               = battles[i];
            cell.qAddImg.spriteName     = LanguageManager.instance.GetValue(battles[i].quality_.ToString());
            cell.pinzhi.spriteName      = EmployessSystem.instance.GetQualityBack((int)battles[i].quality_);
            cell.backImg.spriteName     = EmployessSystem.instance.GetCellQualityBack((int)battles[i].quality_);
            cell.qAddImgBack.spriteName = EmployessSystem.instance.GetAddQualityNUmBack((int)battles[i].quality_);
            cell.backImg.GetComponent <UIButton>().normalSprite = EmployessSystem.instance.GetCellQualityBack((int)battles[i].quality_);
            cell.professionImg.spriteName = ((JobType)battles[i].GetIprop(PropertyType.PT_Profession)).ToString();
            cell.fightingNumLab.text      = battles[i].GetIprop(PropertyType.PT_FightingForce).ToString();
            cell.UpdateRed();
            HeadIconLoader.Instance.LoadIcon(EntityAssetsData.GetData(EmployeeData.GetData(battles[i].GetIprop(PropertyType.PT_TableId)).asset_id).assetsIocn_, cell.icon);

            if (!_icons.Contains(EntityAssetsData.GetData(EmployeeData.GetData(battles[i].GetIprop(PropertyType.PT_TableId)).asset_id).assetsIocn_))
            {
                _icons.Add(EntityAssetsData.GetData(EmployeeData.GetData(battles[i].GetIprop(PropertyType.PT_TableId)).asset_id).assetsIocn_);
            }
            UIManager.SetButtonEventHandler(o, EnumButtonEvent.OnClick, OnEmployeeCell, 0, 0);
            o.transform.parent = grid.transform;
            o.SetActive(true);
            emplyoeeCellList.Add(o);
            o.transform.localPosition = new Vector3(0, 0, 0);
            o.transform.localScale    = new Vector3(1, 1, 1);
            if (i == 0)
            {
                GuideManager.Instance.RegistGuideAim(o, GuideAimType.GAT_FirstPartner_PosUI);
            }
        }



        for (int j = 0; j < Edata.Count; j++)
        {
            if (!gameObject.activeSelf)
            {
                return;
            }
            if (battles.Contains(Edata[j]))
            {
                continue;
            }
            GameObject o = null;
            if (emplyoeeCellPool.Count > 0)
            {
                o = emplyoeeCellPool[0];
                emplyoeeCellPool.Remove(o);
            }
            else
            {
                o = Instantiate(empCell) as GameObject;
            }

            if (Edata[j].isForBattle_)
            {
                o.transform.FindChild("inBattle").gameObject.SetActive(true);
            }
            else
            {
                o.transform.FindChild("inBattle").gameObject.SetActive(false);
            }

            EmployeeCellUI cell = o.GetComponent <EmployeeCellUI>();
            cell.Employee           = Edata[j];
            cell.qAddImg.spriteName = LanguageManager.instance.GetValue(Edata[j].quality_.ToString());
            cell.pinzhi.spriteName  = EmployessSystem.instance.GetQualityBack((int)Edata[j].quality_);
            cell.backImg.spriteName = EmployessSystem.instance.GetCellQualityBack((int)Edata[j].quality_);
            cell.backImg.GetComponent <UIButton>().normalSprite = EmployessSystem.instance.GetCellQualityBack((int)Edata[j].quality_);
            cell.qAddImgBack.spriteName   = EmployessSystem.instance.GetAddQualityNUmBack((int)Edata[j].quality_);
            cell.professionImg.spriteName = ((JobType)Edata[j].GetIprop(PropertyType.PT_Profession)).ToString();
            cell.fightingNumLab.text      = Edata[j].GetIprop(PropertyType.PT_FightingForce).ToString();
            cell.UpdateRed();
            HeadIconLoader.Instance.LoadIcon(EntityAssetsData.GetData(EmployeeData.GetData(Edata[j].GetIprop(PropertyType.PT_TableId)).asset_id).assetsIocn_, cell.icon);

            if (!_icons.Contains(EntityAssetsData.GetData(EmployeeData.GetData(Edata[j].GetIprop(PropertyType.PT_TableId)).asset_id).assetsIocn_))
            {
                _icons.Add(EntityAssetsData.GetData(EmployeeData.GetData(Edata[j].GetIprop(PropertyType.PT_TableId)).asset_id).assetsIocn_);
            }
            UIManager.SetButtonEventHandler(o, EnumButtonEvent.OnClick, OnEmployeeCell, 0, 0);
            o.transform.parent = grid.transform;
            o.SetActive(true);
            emplyoeeCellList.Add(o);
            o.transform.localPosition = new Vector3(0, 0, 0);
            o.transform.localScale    = new Vector3(1, 1, 1);
            if (j == 0)
            {
                GuideManager.Instance.RegistGuideAim(o, GuideAimType.GAT_FirstPartner_PosUI);
            }
        }
        grid.Reposition();
    }