示例#1
0
        /// <summary>
        /// 获取指定图鉴位置的加成属性
        /// </summary>
        /// <param name="attr">属性类型</param>
        /// <returns></returns>
        public float GetHandbookAddtionFromCard(LTPartnerData partner, IHandBookAddAttrType attr)
        {
            if (partner == null)
            {
                EB.Debug.LogError("Get Partner is null");
                return(0);
            }
            //int race = partner.HeroInfo.race;
            //int charType = (int)partner.HeroInfo.char_type;
            float addNum = 0;

            if (TheHandbookList == null)
            {
                EB.Debug.LogError("LTPartnerHandbookManager.GetHandbookAddtionFromCard TheHandbookList is null");
                return(0);
            }
            List <HandbookData> handbookDatas = TheHandbookList.Handbooks;

            if (handbookDatas == null)
            {
                EB.Debug.LogError("LTPartnerHandbookManager.GetHandbookAddtionFromCard handbookDatas is null");
                return(0);
            }
            for (var i = 0; i < handbookDatas.Count; i++)
            {
                HandbookData bookData = handbookDatas[i];
                if (bookData.HandbookId == partner.HeroInfo.char_type)
                {
                    for (int j = 0; j < (LTPartnerConfig.MAX_HANDBOOKPAGE + 1); j++)//兼容多页签
                    {
                        LTPartnerData cardPartner = bookData.CardsInfo[(int)attr + j * 5].SetHandBookCard();
                        if (cardPartner != null)
                        {
                            Hotfix_LT.Data.MannualRoleGradeTemplate roleGrade = Hotfix_LT.Data.CharacterTemplateManager.Instance.GetMannualRoleGradeTempleteByRoleGrade(cardPartner.HeroInfo.role_grade);
                            if (roleGrade != null)
                            {
                                addNum += cardPartner.Star * roleGrade.star_addition * 100;
                            }
                        }
                    }
                }
            }
            return(addNum);
        }
示例#2
0
        public string GetAttAddNum(LTPartnerData partnerData, IHandBookAddAttrType Type)
        {
            StringBuilder AddStr = new StringBuilder();

            AddStr.Remove(0, AddStr.Length);
            switch (Type)
            {
            case IHandBookAddAttrType.ATTR_CritP:
                AddStr.Append(EB.Localizer.GetString("ID_ATTR_CritP"));
                break;

            case IHandBookAddAttrType.ATTR_CRIresist:
                AddStr.Append(EB.Localizer.GetString("ID_ATTR_CRIresist"));
                break;

            case IHandBookAddAttrType.ATTR_Speed:
                AddStr.Append(EB.Localizer.GetString("ID_ATTR_Speed"));
                break;

            case IHandBookAddAttrType.ID_ATTR_DMGincrease:
                AddStr.Append(EB.Localizer.GetString("ID_ATTR_DMGincrease"));
                break;

            case IHandBookAddAttrType.ID_ATTR_DMGreduction:
                AddStr.Append(EB.Localizer.GetString("ID_ATTR_DMGreduction"));
                break;

            default:
                EB.Debug.LogError("NO This Card : {0}", Type);
                break;
            }

            AddStr.Append("+");
            AddStr.Append(GetAttrAddValue(partnerData).ToString("f1"));
            AddStr.Append("%");
            return(AddStr.ToString());
        }
示例#3
0
 public void SetType(IHandBookAddAttrType e)
 {
     Type = e;
 }
示例#4
0
        private void SetAttAddNum(LTPartnerData partnerData, IHandBookAddAttrType Type)
        {
            string Addtxt = LTPartnerHandbookManager.Instance.GetAttAddNum(partnerData, Type);

            AttrAddLabel.text = Addtxt;
        }
示例#5
0
 public PartnerTakeFieldEvent(LTPartnerData partnerData, IHandBookAddAttrType Type)
 {
     TakeFieldCardPos = Type;
     Partner          = partnerData;
 }