示例#1
0
        private void ShowCardInfo()
        {
            ClearShowList();
            //chipDic.Clear();

            //NameTxt.text.text = LanguageMgr.GetText(gunCardRes.tid_name);
            gunChipList.Clear();
            StarUpBtn.button.interactable = false;

            var cardData = PlayerDataMgr.singleton.GetGunCardData(gunCardRes.id);

            if (cardData == null)
            {
                return;
            }

            var curStarRes = TableMgr.singleton.CardStarTable.GetItemByID(cardData.star);

            if (curStarRes == null)
            {
                return;
            }

            upStarRes = TableMgr.singleton.CardStarTable.GetItemByID(cardData.star + 1);
            if (upStarRes == null)
            {
                return;
            }

            for (int i = 0; i < upStarRes.slotCount; ++i)
            {
                List <CardChipData> chipList;
                if (!chipDic.TryGetValue(i, out chipList))
                {
                    chipList   = new List <CardChipData>();
                    chipDic[i] = chipList;
                }

                var itemUI = GunCard.GetInstance();
                itemUI.Init(i, gunCardRes.gunType, upStarRes.needCardRarityList[i]);
                itemUI.transform.SetParent(ChipRoot.gameObject.transform);
                itemUI.OnCardClick = null;
                itemUI.gameObject.SetActive(true);

                gunChipList.Add(itemUI);

                var count = 0;
                if ((StarUpChipType)upStarRes.needCardTypeList[i] == StarUpChipType.SameName)
                {
                    if (cardData.count < upStarRes.needCardCountList[i])
                    {
                        count = cardData.count;
                    }
                    else
                    {
                        count = upStarRes.needCardCountList[i];
                        StarUpBtn.button.interactable = true;
                    }
                    itemUI.IconBtn.image.sprite = Resources.Load(gunCardRes.icon, typeof(Sprite)) as Sprite;
                    //itemUI.IconBtn.image.enabled = true;

                    var data = new CardChipData();
                    data.cardID = cardData.cardID;
                    data.count  = count;
                    chipList.Add(data);
                }
                else
                {
                    //for (int j = 0;j < chipList.Count;++j)
                    //{
                    //    count += chipList[j].count;
                    //}
                    //itemUI.IconBtn.image.enabled = false;

                    itemUI.OnCardClick = OpenChipRoot;
                }

                itemUI.Frame.image.sprite = Resources.Load(TableMgr.singleton.ValueTable.GetCardQualityFrame(upStarRes.needCardRarityList[i]),
                                                           typeof(Sprite)) as Sprite;

                itemUI.ChipCount.text.text = string.Format("{0}/{1}", count, upStarRes.needCardCountList[i]);
            }


            for (int i = 0; i < curStarList.Count; ++i)
            {
                if (i < curStarRes.star)
                {
                    curStarList[i].SetActive(true);
                }
                else
                {
                    curStarList[i].SetActive(false);
                }
            }

            for (int i = 0; i < upStarList.Count; ++i)
            {
                if (i < upStarRes.star)
                {
                    upStarList[i].SetActive(true);
                }
                else
                {
                    upStarList[i].SetActive(false);
                }
            }

            CurAtk.text.text  = cardData.GetAtk().ToString("f0");
            NextAtk.text.text = cardData.GetAtk(cardData.level, cardData.star + 1).ToString("f0");
            CurDPS.text.text  = (cardData.DPS() / TableMgr.singleton.ValueTable.combat_capability).ToString("f0");
            NextDPS.text.text = (cardData.DPS(cardData.level, cardData.star + 1) /
                                 TableMgr.singleton.ValueTable.combat_capability).ToString("f0");
            CurLevel.text.text  = curStarRes.maxLevel.ToString();
            NextLevel.text.text = upStarRes.maxLevel.ToString();
            //CurAtkSpeed.text.text = cardData.GetAtkSpeed().ToString();
            //NextAtkSpeed.text.text = cardData.GetAtkSpeed().ToString();

            var fuseSkillRes = TableMgr.singleton.FuseGunSkillTable.GetItemByID(cardData.fuseSkillID);

            if (fuseSkillRes == null)
            {
                return;
            }

            SkillName.text.text  = LanguageMgr.GetText(fuseSkillRes.tid_name);
            SkillLevel.text.text = string.Format("Lv.{0}", fuseSkillRes.level);
        }
示例#2
0
        private void AddCradChip(int id, int count)
        {
            List <CardChipData> chipList;

            if (!chipDic.TryGetValue(chooseIndex, out chipList))
            {
                chipList             = new List <CardChipData>();
                chipDic[chooseIndex] = chipList;
            }

            var          allCount = 0;
            CardChipData data     = null;

            for (int i = 0; i < chipList.Count; ++i)
            {
                allCount += chipList[i].count;
                if (chipList[i].cardID == id)
                {
                    data = chipList[i];
                }
            }

            if (allCount >= upStarRes.needCardCountList[chooseIndex] && count > 0)
            {
                return;
            }
            else if (allCount <= 0 && count < 0)
            {
                return;
            }

            //if (count > upStarRes.needCardCountList[chooseIndex] - allCount)
            //    count = upStarRes.needCardCountList[chooseIndex] - allCount;

            if (data == null)
            {
                data        = new CardChipData();
                data.cardID = id;
                data.count  = count;
                chipList.Add(data);
            }
            else
            {
                data.count += count;
            }


            allCount += count;
            if (allCount >= upStarRes.needCardCountList[chooseIndex])
            {
                StarUpBtn.button.interactable = true;
            }
            else
            {
                StarUpBtn.button.interactable = false;
            }

            var itemUI = gunChipList[chooseIndex];

            itemUI.ChipCount.text.text = string.Format("{0}/{1}", allCount, upStarRes.needCardCountList[chooseIndex]);

            for (int i = 0; i < chooseChipList.Count; ++i)
            {
                if (chooseChipList[i].cardID == id)
                {
                    chooseChipList[i].SetCount(data.count);
                    break;
                }
            }

            //ShowCardInfo();
        }